什么是错的这个alter table命令:MYSQL改变表 - 添加索引+ FOREIGN KEY给错误1005
ALTER TABLE `lp`
ADD COLUMN `RuleId` INT(10) NOT NULL DEFAULT -111 AFTER `Weight` , ,
ADD CONSTRAINT `fk_1` FOREIGN KEY (`RuleId`) REFERENCES `Rules` (`RuleId`) ON DELETE NO ACTION ON UPDATE NO ACTION,
ADD INDEX `fk_1` (`RuleId` ASC) ;
如果我把线
工作,
我得到的错误是:
Error Code : 1005
Can't create table '..' (errno: 121)
如何在同一字段上添加FOREIGN KEY和INDEX?
更新:
我尝试分离到2个查询,先添加索引和添加外键后,增加了指数,但第二个查询不工作!
当我改变外键的名称(如:“fk_2”),并尝试运行它,我得到一个错误:错误代码:1452不能添加或更新子行,外键约束失败
我试着分开,但同样的问题 – 2010-08-11 06:36:25
啊,我明白了,你试着给索引和外键限制一个名字。使用独特的名称,它应该工作。 – 2010-08-11 06:53:42
当我更改名称并尝试运行它时出现错误:错误代码:1452无法添加或更新子行:外键约束失败 – 2010-08-11 06:59:17