2011-12-13 3 views
-1

J'essaie de faire un simple insert. l'contactsID est liée à une autre table mais pas uniqueMYSQL - Dupliquer l'entrée 'var' pour la clé 2

si je fais la requête à l'aide d'un contactsID précédent je reçois cette erreur:

entrée en double « 49754-TotalSales » pour la touche 2

Toutefois, si i changer manuellement mes contactsID je suis capable d'insérer. Qu'est-ce que je fais mal.

INSERT INTO purchaseStats (contactsID, formKey, formValue) 
VALUES ('49754', '23423', '343') 

 
purchaseStatID 
int(11) 
Yes 
NULL 

contactsID 
int(11) 
Yes 
0 

formKey 
varchar(40) 
Yes 
NULL 

formValue 
varchar(30) 
Yes 
NULL 

createdBy 
int(11) 
Yes 
0 

createdDate 
datetime 
Yes 
NULL 

modifiedBy 
int(11) 
Yes 
0 

modifiedDate 
timestamp 
Yes 
CURRENT_TIMESTAMP 
+0

Ce que je peux voir, c'est que vous utilisez '' 'pour insérer dans un champ entier (' contactsID'). – EmCo

+0

vous devriez faire un SHOW INDEX FROM nomtable; sortie devrait ressembler à ceci http://stackoverflow.com/questions/3202424/show-indexes-in-mysql-table avez-vous vérifié si cet ID existe déjà? sinon, le commentaire d'ajreal pourrait être la bonne voie à suivre – MitziMeow

Répondre

1

Votre 2ème indice (n ° 2) est unique, et donc vous ne pouvez pas insérer des entrées en double pour elle. Pouvez-vous lister vos index? Vous pouvez utiliser SHOW INDEX

Questions connexes