Mysql
 sql >> Database >  >> RDS >> Mysql

Errore di immissione duplicata MySQL anche se non sono presenti voci duplicate

Il codice e lo schema sono OK. Probabilmente stai provando una versione precedente di table.

http://sqlfiddle.com/#!2/9dc64/1/0

Il tuo tavolo non ha nemmeno UNIQUE, quindi quell'errore è impossibile su quel tavolo.

Eseguire il backup dei dati da quella tabella, rilasciarla e ricrearla.

Forse hai provato a eseguire quel CREATE TABLE IF NOT EXIST . Non è stato creato, hai una vecchia versione, ma non si è verificato alcun errore a causa di IF NOT EXIST .

Puoi eseguire SQL in questo modo per vedere la struttura della tabella corrente:

DESCRIBE my_table;

Modifica - aggiunto in seguito:

Prova a eseguire questo:

DROP TABLE `my_table`; --make backup - it deletes table

CREATE TABLE `my_table` (
  `number` int(11) NOT NULL,
  `name` varchar(50) NOT NULL,
  `money` int(11) NOT NULL,
  PRIMARY KEY (`number`,`name`),
  UNIQUE (`number`, `name`) --added unique on 2 rows
) ENGINE=MyISAM;