Maison >base de données >tutoriel mysql >Comment insérer de nouveaux enregistrements dans MySQL tout en gérant les entrées en double ?

Comment insérer de nouveaux enregistrements dans MySQL tout en gérant les entrées en double ?

DDD
DDDoriginal
2024-12-28 04:55:13432parcourir

How to Insert New Records into MySQL While Handling Duplicate Entries?

Insérer de nouveaux enregistrements en ignorant les entrées en double dans MySQL

En PHP, vous pouvez rencontrer un scénario dans lequel vous devez insérer plusieurs enregistrements dans un base de données avec des champs uniques. Pour garantir que seuls les nouveaux enregistrements sont insérés sans rencontrer d'erreurs de saisie en double, envisagez les approches suivantes :

1. INSERT... IGNORE Syntax

Cette syntaxe permet à MySQL d'ignorer les entrées en double sans générer d'erreurs. Par exemple :

INSERT IGNORE INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);

2. Syntaxe REPLACE INTO

Contrairement à INSERT... IGNORE, la syntaxe REPLACE INTO écrase les enregistrements existants avec la même valeur de clé. Cela peut être utile si vous souhaitez mettre à jour les valeurs des enregistrements existants :

REPLACE INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);

3. INSERT... ON DUPLICATE KEY UPDATE Syntaxe

Cette syntaxe vous permet de spécifier une instruction de mise à jour à exécuter si une clé en double est rencontrée. Par exemple, pour mettre à jour la valeur d'une colonne dans un enregistrement en double :

INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...) ON DUPLICATE KEY UPDATE column2 = newValue;

Exemples

Supposons que vous ayez une table nommée tbl avec l'identifiant et la valeur des colonnes, avec l'enregistrement>

  • REPLACE INTO

    REPLACE INTO tbl VALUES (1, 50);

    Cela mettrait à jour l'enregistrement avec>

  • INSERT IGNORE

    INSERT IGNORE INTO tbl VALUES (1, 10);

    Cela ignorerait le entrée en double et aucun enregistrement ne serait inséré.

  • INSÉRER... SUR MISE À JOUR DE LA CLÉ EN DUPLICATE

    INSERT INTO tbl VALUES (1, 200) ON DUPLICATE KEY UPDATE value=200;

    Cela mettrait à jour l'enregistrement avec>

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