Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Erro de entrada duplicada do MySQL mesmo que não haja entrada duplicada


Seu código e esquema estão OK. Você provavelmente está tentando na versão anterior da tabela.

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

Sua tabela ainda não tem UNIQUE, então esse erro é impossível nessa tabela.

Faça backup dos dados dessa tabela, descarte-os e recrie-os.

Talvez você tenha tentado executar esse CREATE TABLE IF NOT EXIST . Não foi criado, você tem a versão antiga, mas não houve erro por causa de IF NOT EXIST .

Você pode executar o SQL assim para ver a estrutura da tabela atual:
DESCRIBE my_table;

Editar - adicionado mais tarde:

Tente executar isso:
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;