Twój kod i schemat są w porządku. Prawdopodobnie próbujesz na poprzedniej wersji stołu.
http://sqlfiddle.com/#!2/9dc64/1/0
Twój stół nie ma nawet UNIQUE, więc błąd jest niemożliwy na tym stole.
Utwórz kopię zapasową danych z tej tabeli, upuść ją i utwórz ponownie.
Może próbowałeś uruchomić tę CREATE TABLE IF NOT EXIST
. Nie został utworzony, masz starą wersję, ale nie wystąpił błąd z powodu IF NOT EXIST
.
Możesz uruchomić SQL w ten sposób, aby zobaczyć aktualną strukturę tabeli:
DESCRIBE my_table;
Edytuj - dodane później:
Spróbuj uruchomić to:
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;