【问题标题】:Creating foreign keys in MySQL在 MySQL 中创建外键
【发布时间】: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)

这似乎不是语法错误,所以有谁知道导致问题的原因或我该如何解决?

【问题讨论】:

标签: php mysql foreign-keys create-table


【解决方案1】:

当使用多列创建具有主键的表时,必须在查询中指定它们 -

CREATE TABLE CLIENTS (
 CLIENTID NUMERIC(3) NOT NULL,
 EMAILADDRESSES CHAR(64),
 PHONENUMBERS VARCHAR(16),
 CONTACTS VARCHAR(32), 
 FOREIGN KEY(CLIENTID) REFERENCES BIDS(CLIENTID),
 CONSTRAINT key_name PRIMARY KEY(CLIENTID, EMAILADDRESSES,PHONENUMBERS,CONTACTS)
);

您还必须为多列主键指定名称。但是,为什么要将所有这些列作为键是一个谜。

【讨论】:

    猜你喜欢
    • 2013-09-07
    • 2015-01-18
    • 1970-01-01
    • 1970-01-01
    • 2017-08-27
    • 2020-08-14
    • 2011-06-13
    • 2013-10-05
    相关资源
    最近更新 更多