首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法添加外键MySQL

问无法添加外键MySQL
EN

Stack Overflow用户
提问于 2013-01-04 11:59:37
回答 3查看 2K关注 0票数 0

我正在使用PHP,并试图将一个外键添加到一个名为MySQL的表中,该表具有一个名为AreaID的列,该列应该是指向area Tables AreaID PK的外键。我使用了这个查询,虽然它在添加链接到其他表的外键时有效,但在链接到area表时不起作用。

代码语言:javascript
复制
ALTER TABLE properties
ADD FOREIGN KEY (AreaID)
REFERENCES area(AreaID)

我重提的错误是:

代码语言:javascript
复制
ALTER TABLE properties ADD FOREIGN KEY ( AreaID ) REFERENCES AREA( AreaID )

MySQL说:

代码语言:javascript
复制
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 

我做错了什么?

EN

回答 3

Stack Overflow用户

发布于 2013-01-04 13:13:15

两个表中的AreaId列必须具有相同的数据类型、length和属性。例如,在Area表中,AreaId列是INT(10) UNSIGNED,那么属性表必须具有具有相同INT(10) UNSIGNED列的列。您可以更改列名,但数据类型、length和属性必须相同。

尝试使用此ALTER语句,并检查此链接:

代码语言:javascript
复制
ALTER TABLE properties 
    ADD CONSTRAINT FK_Area 
    FOREIGN KEY (AreaID) 
    REFERENCES AREA(AreaID) 
    ON UPDATE NO ACTION 
    ON DELETE NO ACTION; 
票数 5
EN

Stack Overflow用户

发布于 2013-01-04 12:01:46

请检查两个字段的所有特征是否相同。

票数 0
EN

Stack Overflow用户

发布于 2013-01-04 13:19:50

检查数据库..InnoDB仅支持外键约束

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14150884

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档