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

MySQL duplikatindtastningsfejl, selvom der ikke er nogen dubletindtastning

Din kode og dit skema er OK. Du prøver sandsynligvis på en tidligere version af tabellen.

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

Din tabel har endda ingen UNIQUE, så den fejl er umulig på den tabel.

Sikkerhedskopier data fra den tabel, slip den og genskab den.

Måske har du prøvet at køre den CREATE TABLE IF NOT EXIST . Den blev ikke oprettet, du har en gammel version, men der var ingen fejl på grund af IF NOT EXIST .

Du kan køre SQL på denne måde for at se den aktuelle tabelstruktur:

DESCRIBE my_table;

Rediger - tilføjet senere:

Prøv at køre dette:

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;


  1. Hvordan opretter man et ja/nej boolesk felt i SQL server?

  2. Hvornår skal man LÅSE TABELLER i MySQL (MyISAM-tabeller)?

  3. fjern specialtegn i php

  4. Sådan optimerer du en stor forespørgsel med gentagne underforespørgsler