У меня проблемы с расшифровкой журнала ошибок MySQL, полученного через опцию "forward engineer" - PullRequest
1 голос
/ 03 мая 2011

Вот ошибка:

Выполнение сценария SQL на сервере

ERROR: Error 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')

    REFERENCES `mydb`.`Skill` ()
    ON DELETE NO ACTION
    ON UPDATE NO ACTI' at line 5

CREATE  TABLE IF NOT EXISTS `mydb`.`employeeSkill` (
  `idEmployee` INT NOT NULL ,
  PRIMARY KEY (`idEmployee`) ,
  CONSTRAINT `idSkill`
    FOREIGN KEY ()
    REFERENCES `mydb`.`Skill` ()
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB

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

1 Ответ

0 голосов
/ 03 мая 2011

Вы перепутали синтаксис для определения ограничений столбцов с определением ограничений таблиц.Внутри скобок после имени таблицы у вас должен быть список разделенных запятыми определений столбцов, которые имеют форму «column_name column_type column_constraints», где единственным обязательным элементом является имя столбца.Однако после первой запятой у вас есть PRIMARY KEY (idEmployee), что не является определением столбца.(Вместо этого это синтаксис, подходящий для команды ALTER TABLE.) Проверьте синтаксис команды CREATE TABLE здесь .

...