我试图通过MySQL中的外键将两个表链接在一起。 CLIENTS表应链接到具有客户机ID属性的另一个表(BIDS)。
CREATE TABLE CLIENTS (
CLIENTID NUMERIC(3) NOT NULL,
FOREIGN KEY(CLIENTID) REFERENCES BIDS(CLIENTID),
PRIMARY KEY(CLIENTID, EMAILADDRESSES,PHONENUMBERS,CONTACTS)
);
但是,当我尝试执行代码时,MySQL会返回此错误。
#1005 - 无法创建表格'客户端' (错误:150)
它似乎不是语法错误,所以有人知道造成问题的原因或我该如何修复它?
答案 0 :(得分: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)
);
您还必须为多列主键指定名称。为什么你想要所有这些列作为关键是一个谜。