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!