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!

Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top