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
Libérer: 2024-12-14 21:03:12
original
789 Les gens l'ont consulté

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);
      Copier après la connexion
  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')";
        Copier après la connexion
      • Écraser les enregistrements existants :

        $query = "INSERT INTO thetable (pageid, name, somefield) VALUES (1, 'foo', 'first') ON DUPLICATE KEY UPDATE (somefield = 'first')";
        Copier après la connexion
      • Mise à jour Compteur :

        $query = "INSERT INTO thetable (pageid, name) VALUES (1, 'foo'), (1, 'foo') ON DUPLICATE KEY UPDATE (pagecount = pagecount + 1)";
        Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal