SQL查询更改表MySql中的错误

时间:2009-11-25 08:15:37

标签: mysql constraints mysql-error-1005

执行以下查询时出错:

ALTER TABLE property_res_details 
ADD CONSTRAINT PropertyIdLink FOREIGN KEY ( Property_ID )  
REFERENCES properties( Property_ID )  ON DELETE CASCADE ;


#1005 - Can't create table './resfi/#sql-10e1_8df.frm' (errno: 150)

我可能做错了什么?

2 个答案:

答案 0 :(得分:2)

This page可能会提供有关正在发生的事情的线索......

由于您要添加外键,因此听起来很相关。 它建议你尝试

SHOW ENGINE INNODB STATUS;

查看可能导致您看到的错误的最新约束错误。

也许你试试

SET FOREIGN_KEY_CHECKS = 0; 

在你的命令之前,它会禁用检查并允许你继续吗?

答案 1 :(得分:0)

是的,你不喜欢MySQL的真棒错误消息。

ADD CONSTRAINT PropertyIdLink FOREIGN KEY ( Property_ID )  
REFERENCES properties( Property_ID ) ON DELETE CASCADE;

确保Property_ID列在两个表中都具有完全相同的数据类型。这就是我过去为自己修复类似错误的方法。