收到'cannot add foreign key constraint'错误



我有 2 个表:(使用MySQL)UserProfile.

User具有以下列:

Name: reqid
Type: char(36)
Null: NO
Key: PRI

Profile有:

Name: reqid
Type: char(36)
Null: NO

但是当我尝试执行以下操作时:

ALTER TABLE Profile ADD CONSTRAINT fk_req
FOREIGN KEY (reqid ) REFERENCES User ( reqid ) ON DELETE CASCADE;

我收到cannot add foreign key constraint错误。

为什么?两列的类型相同。

如使用外键约束文档中所述:

外键关系涉及保存 中心数据值和具有相同值指向的子表 回到它的父级。

确保两个表(ProfileUser)中的列reqid包含相同的值

User

是一个关键字,应该像下面这样进行转义。此外,在执行此语句之前User请确保表已经存在

ALTER TABLE Profile ADD CONSTRAINT fk_req
FOREIGN KEY (reqid ) REFERENCES `User` ( reqid ) ON DELETE CASCADE;

相关内容

最新更新