MySQL不会让我添加外键约束

时间:2014-01-24 10:10:41

标签: mysql

我试图像这样添加一个外键,我正在使用MySQL Workbench,但我失败了:

ALTER TABLE `db_name`.`tr_role_menu_item` ADD CONSTRAINT `fk_role`
FOREIGN KEY (`fk_id_role`) REFERENCES `db_name`.`t_role` (`id_role`) ON
DELETE NO ACTION ON
UPDATE NO ACTION,
          ADD CONSTRAINT `fk_menu_item`
FOREIGN KEY (`fk_id_menu_item`) REFERENCES `db_name`.`t_menu_item` (`id_menu_item`) ON
DELETE NO ACTION ON
UPDATE NO ACTION;

这就是Workbench输出的内容:

ERROR 1005: Can't create table 'db_name.#sql-659_c11' (errno: 150)
ERROR: Error when running failback script. Details follow.
ERROR 1050: Table 'tr_role_menu_item' already exists

SQL Statement:

CREATE TABLE `tr_role_menu_item` (

`id_role_menu_item` int(11) NOT NULL AUTO_INCREMENT,

`fk_id_role` int(11) NOT NULL,

`fk_id_menu_item` int(11) NOT NULL,

 PRIMARY KEY (`id_role_menu_item`),

 KEY `fk_role_idx` (`fk_id_role`),

 KEY `fk_menu_item_idx` (`fk_id_menu_item`)

 ) ENGINE=InnoDB DEFAULT CHARSET=latin1

请帮助吗?

0 个答案:

没有答案