Error 1060: Duplicate column name (column - foreign key)

306
02 января 2018, 13:23

Есть база банных со следующей EER Диаграммой

Возникает ошибка при Forward Engineer:

ERROR: Error 1060: Duplicate column name 'vendor_fk'

SQL Code:

-- -----------------------------------------------------
-- Table `my_schema_1`.`Phone`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `my_schema_1`.`Phone` (
  `phone_id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
  `vendor_fk` INT UNSIGNED NOT NULL,
  `ram_fk` INT UNSIGNED NOT NULL,
  PRIMARY KEY (`phone_id`, `vendor_fk`, `ram_fk`, `vendor_fk`, `ram_fk`),
  UNIQUE INDEX `phone_id_UNIQUE` (`phone_id` ASC),
  INDEX `fk_Phone_Vendor_idx` (`vendor_fk` ASC),
  INDEX `fk_Phone_RAM_idx` (`ram_fk` ASC),
  CONSTRAINT `fk_Phone_Vendor`
    FOREIGN KEY (`vendor_fk`)
    REFERENCES `my_schema_1`.`Vendor` (`vendor_id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_Phone_RAM`
    FOREIGN KEY (`ram_fk`)
    REFERENCES `my_schema_1`.`RAM` (`ram_id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = MyISAM

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

Fetching back view definitions in final form. Nothing to fetch

Answer 1

Здесь перечислены столбцы с дубликатами:

  PRIMARY KEY (`phone_id`, `vendor_fk`, `ram_fk`, `vendor_fk`, `ram_fk`),

Попробуйте так:

  PRIMARY KEY (`phone_id`, `vendor_fk`, `ram_fk`),
READ ALSO
Записывание строками в файл

Записывание строками в файл

Как записать в файл данные строками? Например, пользователь ввёл 101Оно пишется в первую строку

410
Autofac Named/Keyed резолвинг и вложенные зависимости

Autofac Named/Keyed резолвинг и вложенные зависимости

При попытке сделать резолвинг по имени вылетает ошибка 'AutofacCore

425