Maison >développement back-end >tutoriel php >Comment éviter les entrées en double dans MySQL lors de l'insertion de données dans PHP ?

Comment éviter les entrées en double dans MySQL lors de l'insertion de données dans PHP ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-14 21:03:12791parcourir

How to Prevent Duplicate Entries in MySQL When Inserting Data in PHP?

Empêcher efficacement les entrées en double dans la base de données MySQL

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 :

  1. 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);
  2. 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn