我正在使用PHP,并试图将一个外键添加到一个名为MySQL的表中,该表具有一个名为AreaID的列,该列应该是指向area Tables AreaID PK的外键。我使用了这个查询,虽然它在添加链接到其他表的外键时有效,但在链接到area表时不起作用。
ALTER TABLE properties
ADD FOREIGN KEY (AreaID)
REFERENCES area(AreaID)我重提的错误是:
ALTER TABLE properties ADD FOREIGN KEY ( AreaID ) REFERENCES AREA( AreaID )MySQL说:
1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'area(AreaID)' at line 3 我做错了什么?
发布于 2013-01-04 13:13:15
两个表中的AreaId列必须具有相同的数据类型、length和属性。例如,在Area表中,AreaId列是INT(10) UNSIGNED,那么属性表必须具有具有相同INT(10) UNSIGNED列的列。您可以更改列名,但数据类型、length和属性必须相同。
尝试使用此ALTER语句,并检查此链接:
ALTER TABLE properties
ADD CONSTRAINT FK_Area
FOREIGN KEY (AreaID)
REFERENCES AREA(AreaID)
ON UPDATE NO ACTION
ON DELETE NO ACTION; 发布于 2013-01-04 12:01:46
请检查两个字段的所有特征是否相同。
发布于 2013-01-04 13:19:50
检查数据库..InnoDB仅支持外键约束
https://stackoverflow.com/questions/14150884
复制相似问题