无法更改列并使其成为外键

时间:2018-01-16 12:47:47

标签: mysql

我有两个表,employee和tbl_feedback。我想要做的是在tbl_feedback中添加id作为外键。我已经在我的tbl_feedback上有一个id列,所以我尝试使用它来改变它:

ALTER TABLE tbl_feedback
ADD FOREIGN KEY (id) REFERENCES employee(id);

当我点击时,我只得到“无法添加外键约束”。我做错了吗?

tbl_feedback

tbl_feedback

雇员 employee

1 个答案:

答案 0 :(得分:1)

参考表必须具有PK且PK字段不应为NULL 因此,如果需要,首先修改引用的表

例如,

ALTER TABLE TblReference
Alter column refid int NOT NULL

ALTER TABLE TblReference
ADD constraint PK_TblReference_RefId primary key (refid)

然后只需添加外键约束

ALTER TABLE TblSource
ADD CONSTRAINT FK_TblSource_Id FOREIGN KEY (id)   
    REFERENCES TblReference (refid)