【发布时间】:2015-01-18 18:06:08
【问题描述】:
我正在尝试通过 MySQL 中的外键将两个表链接在一起。 CLIENTS 表应使用 Client ID 属性链接到另一个表 (BIDS)。
CREATE TABLE CLIENTS (
CLIENTID NUMERIC(3) NOT NULL,
FOREIGN KEY(CLIENTID) REFERENCES BIDS(CLIENTID),
PRIMARY KEY(CLIENTID, EMAILADDRESSES,PHONENUMBERS,CONTACTS)
);
但是,当我尝试执行代码时,MySQL 会返回此错误。
#1005 - 无法创建表 'CLIENTS' (errno: 150)
这似乎不是语法错误,所以有谁知道导致问题的原因或我该如何解决?
【问题讨论】:
-
您的示例对我来说似乎不完整:如果表中没有这些列,如何将列
EMAILADDRESSES、PHONENUMBERS、CONTACTS放入主键? -
BIDS(CLIENTID) 的数据类型是什么? errno 150最常见的原因是FK的数据类型与其引用的PK的数据类型不匹配。
-
在我更新时在此链接上查找答案。 stackoverflow.com/a/46240799/8158782
标签: php mysql foreign-keys create-table