Problème :
L'insertion de milliers d'enregistrements dans une table avec des valeurs en double peut conduire à l'intégrité des données problèmes. Comment pouvons-nous éviter les entrées en double lors de la lecture du script en PHP ?
Solution :
Créer une clé unique :
Définir un INDEX UNIQUE sur la combinaison de colonnes qui doit être unique (par exemple, pageId et nom) :
ALTER TABLE thetable ADD UNIQUE INDEX(pageid, name);
Gestion des doublons :
Maintenant, vous devez décider comment gérer les doublons entrées :
Ignorer les doublons :
$query = "INSERT IGNORE INTO thetable (pageid, name) VALUES (1, 'foo'), (1, 'foo')";
Écraser les enregistrements existants :
$query = "INSERT INTO thetable (pageid, name, somefield) VALUES (1, 'foo', 'first') ON DUPLICATE KEY UPDATE (somefield = 'first')";
Mise à jour Compteur :
$query = "INSERT INTO thetable (pageid, name) VALUES (1, 'foo'), (1, 'foo') ON DUPLICATE KEY UPDATE (pagecount = pagecount + 1)";
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!