Ne connaissant pas bien du tout MySQL je ne peux émètre qu'une théorie.
Si à la base tu as un fichier à importer, fait le en premier temps dans une table temporaire ou une table qui est là juste pour cet usage (vidée après utilisation).
Puis j'utiliserais une requête de ce genre :
INSERT INTO MaTable (meschamps, ...)
SELECT meschamps, ...
FROM MaTableTemporaire AS tmp
WHERE NOT EXISTS (SELECT *
FROM MaTable as tab
WHERE tmp.champ1 = tab.champ AND tmp.champ2 = tab.champ2) -- etc... pour les autres champs de la table
MaTable est la table de destination
MaTableTemporaire la table dans laquel on fait ses insertion temporaire (d'un fichier)
J'espère que EXISTS existe sur MySQL, normalement c'est un standard ISO.
Plus simple si une clef primaire existe il ne faut faire la comparaison que sur elle.
Christian Robert - Winwise
http://blogs.developpeur.org/christian/MCT - Database Development / Database Administration