Éviter les entrées en double dans MySQL avec phpMyAdmin
L'insertion de données dans une table doit être méticuleusement gérée pour éviter les doublons, qui peuvent compromettre l'intégrité des données. Dans MySQL, y parvenir est crucial, en particulier avec de grands ensembles de données. Une approche pour éviter les doublons consiste à utiliser des index uniques.
Création d'un index unique
Avant de mettre en œuvre des mesures d'évitement, il est essentiel d'établir un index unique sur la table. . Cela garantit que la combinaison de colonnes spécifiques (dans ce cas, pageId et name) ne peut pas être répétée. Pour ce faire, exécutez la requête suivante :
ALTER TABLE thetable ADD UNIQUE INDEX(pageid, name);
Gestion des scénarios en double
Une fois l'index unique en place, l'étape suivante consiste à décider comment gérer les doublons. entrées. Voici trois options courantes :
INSERT IGNORE INTO thetable (pageid, name) VALUES (1, "foo"), (1, "foo");
Cette méthode supprime toutes les lignes en double et procède à l'insertion uniquement des lignes uniques. .
INSERT INTO thetable (pageid, name, somefield) VALUES (1, "foo", "first") ON DUPLICATE KEY UPDATE (somefield = 'first'); INSERT INTO thetable (pageid, name, somefield) VALUES (1, "foo", "second") ON DUPLICATE KEY UPDATE (somefield = 'second');
En utilisant ON DUPLICATE KEY UPDATE, les lignes en double sont mises à jour avec les valeurs fournies. Notez que la valeur d'un champ sera soit « premier » soit « second » en fonction de l'ordre d'insertion.
INSERT INTO thetable (pageid, name) VALUES (1, "foo"), (1, "foo") ON DUPLICATE KEY UPDATE (pagecount = pagecount + 1);
Cette méthode maintient le nombre d'occurrences pour chaque combinaison unique d'ID de page et de nom. À chaque entrée en double, le champ du nombre de pages est incrémenté.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!