Bonjour à toutes et à tous !
Voilà, je fais des insertions dans une base de données avec plusieurs fichiers CSV. J'arrive à faire en sorte qu'il n'y ai pas de doublons dans le même CSV. Mais, si je refais l'insertion, sur le même fichier, ma table est doublée (normal me direz vous). De ce fait, je me suis tourné vers des requêtes SQL. En cherchant, j'ai trouvé plusieurs post résolu donnant la solution. J'ai donc utilisé la meme syntaxe :
Cependant, ca me sort l'erreur suivante : #1062 - Duplicata du champ 'Identifiant' pour la clef 'Identifiant_Cand_2'.
Code : Sélectionner tout - Visualiser dans une fenêtre à part alter ignore table candidat add unique index(Identifiant_Cand)
Ce que je n'arrive pas à comprendre, c'est que la doc de Mysql dit : "IGNORE est une extension MySQL pour ANSI SQL92. Cette option contrôle la fa¸on dont ALTER TABLE fonctionne s'il y a des duplications sur une clef unique de la nouvelle table. Si IGNORE n'est pas spécifiée, la copie est annulée et la table originale est restaurée. Si IGNORE est spécifiée, les lignes contenant les éléments doublons de la table seront effacées, hormis la première, qui sera conservée. "
De ce fait, mes suppressions devraient quand même s'effectuer...
Ai-je mal compris quelque chose ? J'aimerais qu'on m'explique plutôt que de me balancer la solution, pour que je puisse, à l'aide d'une requête, pouvoir faire sauter tous les doublons...
A savoir que j'ai un auto-increment.
Merci de votre aide !
Partager