Следующая CREATE TABLE заявление (упрощенную по назначению) хорошо работает на текущем Mysql 5.1/INNODB:Отдельные FOREIGN KEY декларация не может
CREATE TABLE Employee (
id INT NOT NULL PRIMARY KEY
,boss INT REFERENCES Employee
)
Теперь я пытаюсь создать FOREIGN KEY отдельно (после выполнения DROP TABLE Employee):
CREATE TABLE Employee (
id INT NOT NULL PRIMARY KEY
, boss INT
,CONSTRAINT _FK_boss FOREIGN KEY(boss) REFERENCES Employee
)
Это время создания таблицы завершается с сообщением
«Невозможно добавить п ограничение суверенного ключа ".
BTW: Я уже делал DROP/CREATE DATABASE ..., используя имя идентификатора ограничения без каких-либо успехов. Добавление явного "Engine innodb"
тоже не помогает. В моей исходной схеме есть две отличные таблицы 1: n, имеющие одинаковое поведение.
Насколько я понимаю http://dev.mysql.com/doc/refman/5.1/en/create-table.html Синтаксис в порядке.
Пожалуйста, *** ПРОЧИТАЙТЕ *** теги, которые вы используете перед их использованием. Это не имеет ничего общего с * Microsoft SQL Server *. –