InnoDB. Не удается создать FOREIGN KEY

Bermuda

Новичок
InnoDB. Не удается создать FOREIGN KEY

Есть две таблицы

[SQL]
SHOW CREATE TABLE tbl_master;

CREATE TABLE `tbl_master` (
`id` int(11) unsigned NOT NULL,
`data` varchar(20) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `id` (`id`)
) ENGINE=InnoDB;
[/SQL]

[SQL]
SHOW CREATE TABLE tbl_slave;

CREATE TABLE `tbl_slave` (
`rel_id` int(11) unsigned NOT NULL,
`data` varchar(20) DEFAULT NULL,
PRIMARY KEY (`rel_id`)
) ENGINE=InnoDB;
[/SQL]

Делаю следующий запрос
[SQL]
ALTER TABLE `tbl_slave`
ADD CONSTRAINT `tbl_slave_fk`
FOREIGN KEY (`rel_id`)
REFERENCES `tbl_master` (`id`)
ON DELETE CASCADE
ON UPDATE NO ACTION;
[/SQL]

После чего снова проверяю SHOW CREATE TABLE. FOREIGN KEY не создается.

Что я делаю не так?
SHOW INNODB STATUS никаких ошибок не рапортует.

ОС: WinXP SP2
MySQL: 5.1.9-beta

Только что проверил на другой машине. Получил ожидаемый результат -- FOREIGN KEY создался.

ОС: Linux *
MySQL: 4.1.15-max

В чем может быть дело?

Все. Всем спасибо, разобрался.

А дело было вот в чем

Если у кого-нибудь будет похожая проблема, то решение здесь

В правильно сформулированном вопросе 80% ответа :)
 

svetasmirnova

маленький монстрик
Вообще-то на 5.1.11 уже не воспроизводится. В оригинальном варианте с `id` int( 11 ).
 
Сверху