Индекс не работает с innodb - PullRequest
       4

Индекс не работает с innodb

1 голос
/ 20 декабря 2011

У меня проблема при запуске следующего скрипта в mysql 5.0.92. Я знаю, что есть проблема с индексами, но не могу понять это. Любая помощь очень ценится

CREATE TABLE Foundation (
MemberID INT NOT NULL AUTO_INCREMENT,
MemberCategory VARCHAR(45) NOT NULL,
Invitation TINYINT(1) NULL,
Accepted TINYINT(1) NULL,
PersonID INT NOT NULL,
PRIMARY KEY (MemberID),

INDEX (PersonID)
FOREIGN KEY (PersonID) REFERENCES Persons (PersonID)
ON DELETE NO ACTION
ON UPDATE NO ACTION )


ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_general_ci;

1 Ответ

1 голос
/ 20 декабря 2011

У вас пропущена запятая сразу после INDEX (PersonID). Внешний ключ должен иметь одинаковое определение в обеих таблицах.

То есть PersonId должен иметь такое же определение в таблице Persons:

PersonID INT NOT NULL,

Даже незначительные изменения, такие как unsigned, приведут к 150 ошибкам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...