2016-05-01 4 views
2

Я создал базу данных с Mysql Qorkbench и я попытался Форвард инженера в базу данных, но с ошибками, и это сообщение Лог:MySQL Workbench Ошибка базы данных

> Executing SQL script in server 
ERROR: Error 1005: Can't create table `mydb`.`cds` (errno: 121 "Duplicate key on write or update") 
SQL Code: 
     -- ----------------------------------------------------- 
     -- Table `mydb`.`CDs` 
     -- ----------------------------------------------------- 
     CREATE TABLE IF NOT EXISTS `mydb`.`CDs` (
      `CDid` INT NOT NULL AUTO_INCREMENT, 
      `Titel` VARCHAR(45) NOT NULL, 
      `Autor` VARCHAR(45) NOT NULL, 
      `Erscheinungsjahr` VARCHAR(45) NOT NULL, 
      `Genre` VARCHAR(45) NOT NULL, 
      `Stockwerk` VARCHAR(45) NOT NULL, 
      `Regal` INT NOT NULL, 
      `Ausgeborgt` INT NULL, 
      `Rezensionen` VARCHAR(600) NULL, 
      `Kurzbeschreibung` VARCHAR(600) NOT NULL, 
      PRIMARY KEY (`CDid`), 
      UNIQUE INDEX `CDid_UNIQUE` (`CDid` ASC), 
      INDEX `Buchungsid_idx` (`Ausgeborgt` ASC), 
      CONSTRAINT `Buchungsid` 
      FOREIGN KEY (`Ausgeborgt`) 
      REFERENCES `mydb`.`Buchung` (`Buchungsid`) 
      ON DELETE NO ACTION 
      ON UPDATE NO ACTION) 
     ENGINE = InnoDB 

SQL script execution finished: statements: 9 succeeded, 1 failed 

Fetching back view definitions in final form. 
Could not get definition for mydb.view1 from server 
1 views were read back. 

Это EER схема моего Database

+0

попытка выполнения запроса после усечения таблицы, может работать –

ответ

0

Первичный ключ по существу является индексированным уникальным не нулевым ограничением. Вам не нужно добавлять дополнительное уникальное ограничение, и действительно не может, как указывает ошибка. Удалить дополнительный уникальный пункт индекса, и вы должны быть в порядке:

CREATE TABLE IF NOT EXISTS `mydb`.`CDs` (
    `CDid` INT NOT NULL AUTO_INCREMENT, 
    `Titel` VARCHAR(45) NOT NULL, 
    `Autor` VARCHAR(45) NOT NULL, 
    `Erscheinungsjahr` VARCHAR(45) NOT NULL, 
    `Genre` VARCHAR(45) NOT NULL, 
    `Stockwerk` VARCHAR(45) NOT NULL, 
    `Regal` INT NOT NULL, 
    `Ausgeborgt` INT NULL, 
    `Rezensionen` VARCHAR(600) NULL, 
    `Kurzbeschreibung` VARCHAR(600) NOT NULL, 
    PRIMARY KEY (`CDid`), -- no need for an extra index 
    INDEX `Buchungsid_idx` (`Ausgeborgt` ASC), 
    CONSTRAINT `Buchungsid` 
    FOREIGN KEY (`Ausgeborgt`) 
    REFERENCES `mydb`.`Buchung` (`Buchungsid`) 
    ON DELETE NO ACTION 
    ON UPDATE NO ACTION) 
ENGINE = InnoDB 
+1

спасибо человеку вы действительно hepled меня –

Смежные вопросы