Maison > base de données > tutoriel mysql > INSERT SUR LA CLÉ EN DUPLICATE : Comment puis-je ignorer les insertions en double dans SQL ?

INSERT SUR LA CLÉ EN DUPLICATE : Comment puis-je ignorer les insertions en double dans SQL ?

Mary-Kate Olsen
Libérer: 2025-01-05 03:35:38
original
452 Les gens l'ont consulté

INSERT ON DUPLICATE KEY: How Can I Ignore Duplicate Inserts in SQL?

INSÉRER SUR LA CLÉ EN DUPLICATION : Maintenir l'intégrité des données

Dans la gestion de bases de données, il est essentiel de gérer efficacement les scénarios impliquant des données en double. Une option consiste à empêcher les insertions en double en définissant des clés uniques. Cependant, dans certains cas, il peut être souhaitable d'ignorer simplement les insertions en double sans générer d'erreur.

Compte tenu de la structure de table fournie et de la nécessité d'ajouter une ligne uniquement si la clé n'existe pas, le problème suivant se pose :

Problème : Existe-t-il une syntaxe similaire à "INSERT ... ON DUPLICATE KEY DO RIEN" ?

La réponse est affirmative :

Solution 1 : INSÉRER... SUR MISE À JOUR DE CLÉ EN DOUBLE>

Cette syntaxe garantit qu'aucune mise à jour n'est effectuée sur la ligne, même si l'identifiant est réattribué à lui-même. Cela aboutit effectivement à ignorer les insertions en double.

Cependant, si les erreurs (par exemple, les erreurs de conversion, les erreurs de clé étrangère) ou l'épuisement potentiel d'un champ d'auto-incrémentation ne sont pas préoccupants, une approche alternative peut être utilisée :

Solution 2 : INSERT IGNORE INTO ...

Cette syntaxe ignore complètement les lignes qui aurait entraîné une erreur de clé en double, obtenant effectivement le comportement souhaité consistant à ajouter la ligne si elle n'existe pas déjà et à l'ignorer silencieusement sinon.

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