【发布时间】:2010-10-15 01:44:57
【问题描述】:
我有一个现有的 InnoDB 表,它已经有指向不同表的外键。
但是当我尝试创建一个指向主索引的外键时,我得到一个错误(检查数据类型)。
该表是用户,以 User_Id 作为主表。
我想要一个外键 Manager_ID,它是 User_Id 的 FK。
两个 INT 长度均为 10 未签名...
但我仍然收到数据检查错误...?
【问题讨论】:
-
你是说给一个表一个外键给它自己?
-
看起来就是这样。但也许我们错了,因为他也谈到了 InnoDB 表。我认为我们可能需要有关数据库模式的更多信息。我的答案可能是也可能不是他想要的。
-
在同一张表的主键上有一个外键没有错,例如usertable 在信贷员和贷款主管之间有 FK 链接。
-
那个“长度为10”与整数的大小无关。这是对 MySQL 的常见误解。如果您也将列定义为 ZEROFILL,则 INT(10) 仅表示它填充到 10 位。
-
你能发布一下你的表格的简要结构吗?
标签: mysql foreign-keys innodb self-join phpmyadmin