我试图像这样添加一个外键,我正在使用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
请帮助吗?