MySQL InnoDB - 您可以在属于PK的列上设置FK吗?

时间:2015-08-22 18:23:39

标签: mysql foreign-keys innodb composite-primary-key

是否可以在也是主键一部分的列上设置外键?

表有3个字段:userId,followId,followDate userId和followId组合的当前PK 尝试将userId作为FK添加到users表以及followId添加到users表

我一直收到“ERROR 1005:无法创建表格。”\ n \ n \ n \ n \ n \ n \ n数据库#sql-634_cc.frm'(错误号:121)“。

ADD CONSTRAINT userId   外键(userId)   参考usersid)   无法删除操作   ON UPDATE CASCADE;

或者是否有一个我没看到的错误?

2 个答案:

答案 0 :(得分:0)

答案是肯定的,这是可能的。问题是数据库中的FK需要具有唯一的名称。我有'userId'作为另一张桌子上的FK,所以我把这张桌子上的FK名称加上了' table_userId'

答案 1 :(得分:0)

是的,可能。因为这是常见的行为。