INSERT IGNORE Insertion 0 lignes
Question
Quand je tente d'exécuter « INSERT IGNORE ... » dans MYSQL ajouter une seule variable à une table de plusieurs options, après la première insertion, il refuse de travailler. Il dit « lignes Inséré: 0 » et ne pas insérer ma nouvelle valeur dans la base de données. Je crois que c'est parce qu'il ya déjà une entrée avec une valeur « rien » et MYSQL ne permet pas le champ vide à dupliquer. Cela semble être un comportement étrange (tant que les deux inserts ne sont pas exactement les mêmes), donc je me demande s'il y a un moyen d'éviter cela.
Merci pour toute hep!
La solution
Les deux INSERT
faire de même, ils ont tout simplement pas être exactement les mêmes pour les colonnes de clé primaire.
INSERT IGNORE
ignorera un insert s'il y a déjà une ligne avec la même clé primaire.
Si vous avez INSERT
au lieu de INSERT IGNORE
, vous obtiendriez une erreur (en double clé primaire).
Si vous souhaitez mettre à jour à la place de la ligne existante, vous pouvez utiliser REPLACE
.
De toute façon, il ne peut y avoir qu'une seule ligne pour chaque clé primaire.