MySQL错误:无法创建表(错误:121“写入或更新时出现重复键”)

问题描述:

我使用MySQL Workbench为数据库生成图表和代码。MySQL错误:无法创建表(错误:121“写入或更新时出现重复键”)

enter image description here

当我把代码到phpMyAdmin,它显示错误(#1005 - 无法创建表wypozyczalniawypozyczenie(错误:121 “上写或更新重复键”))

在哪里问题是什么? :( 外键 - 表wypozyczenie

enter image description here

错误是由这部分代码:

CREATE TABLE IF NOT EXISTS `wypozyczalnia`.`wypozyczenie` (
`id_wyp` INT NOT NULL, 
`data_wyp` DATE NOT NULL, 
`data_odd` DATE NOT NULL, 
`id_samochod` INT NOT NULL, 
`id_klient` INT NOT NULL, 
`id_pracownik` INT NOT NULL, 
`id_plac_wyp` INT NOT NULL, 
`id_plac_odd` INT NULL, 
`cena` INT NULL, 
`kaucja` INT NULL, 
PRIMARY KEY (`id_wyp`), 
INDEX `id_klient_idx` (`id_klient` ASC), 
INDEX `id_samochod_idx` (`id_samochod` ASC), 
INDEX `id_placowka_idx` (`id_plac_odd` ASC), 
INDEX `id_pracownik_idx` (`id_pracownik` ASC), 
INDEX `id_plac_wyp_idx` (`id_plac_wyp` ASC), 
CONSTRAINT `id_klient_klient` 
FOREIGN KEY (`id_klient`) 
REFERENCES `wypozyczalnia`.`klient` (`id_klient`) 
ON DELETE NO ACTION 
ON UPDATE NO ACTION, 
CONSTRAINT `id_samochod_samochody` 
FOREIGN KEY (`id_samochod`) 
REFERENCES `wypozyczalnia`.`samochody` (`id_samochod`) 
ON DELETE NO ACTION 
ON UPDATE NO ACTION, 
CONSTRAINT `id_placowka_placowka` 
FOREI[...] 
+1

由于错误消息sa y:你必须两次使用相同的约束名称。约束甚至可能在不同的表格中。 – Shadow

由于错误消息说:你必须使用相同的约束名称两次约束。因为约束名称must be unique in a database

CONSTRAINT symbol

If the CONSTRAINT symbol clause is given, the symbol value, if used, must be unique in the database. A duplicate symbol results in an error. If the clause is not given, or a symbol is not included following the CONSTRAINT keyword, a name for the constraint is created automatically.