Mysql 使用主键和2个外键创建表时出错

Mysql 使用主键和2个外键创建表时出错,mysql,constraints,Mysql,Constraints,我尝试使用Rep_ID、Store_ID和Quarter创建一个具有复合PK约束的表,并尝试在Rep_ID和Store_ID上创建一个FK约束 我的声明如下: CREATE TABLE REP_CONTRACTS( 仓库标识INT(8), 名称INT(5), 四分之一字符(3), 代表ID INT(5), 主键(Rep_ID、Store_ID、Quarter), Rep_ID INT REFERENCES BOOK_STORES(Rep_ID), 门店标识INT参考书目门店(门店标识) ); 这

我尝试使用Rep_ID、Store_ID和Quarter创建一个具有复合PK约束的表,并尝试在Rep_ID和Store_ID上创建一个FK约束

我的声明如下:

CREATE TABLE REP_CONTRACTS(
仓库标识INT(8),
名称INT(5),
四分之一字符(3),
代表ID INT(5),
主键(Rep_ID、Store_ID、Quarter),
Rep_ID INT REFERENCES BOOK_STORES(Rep_ID),
门店标识INT参考书目门店(门店标识)
);

这些是我的桌子:

书店:

列名数据类型约束注释
Store_ID INT(8)主键列
名称VARCHAR(30)应该是唯一的且不为NULL
联系VARCHAR(20)
代表ID INT(5)

代表合同

列名称数据类型
商店标识INT(8)
姓名(5)
四分之一字符(3)
代表ID INT(5)

我已经创建了book store表,我正在尝试创建rep contracts表


我还得到了错误
重复的列名“Rep_ID”。添加区分列别名。
运行此查询时

您在表中声明了两次REPID,这就是为什么会出现重复错误。在主键语句中使用列“Store ID”之前,您可能还希望创建该列

CREATE TABLE REP_CONTRACTS(
Store_ID INT(8),
Name INT(5),
Quarter CHAR(3),
Rep_ID INT(5) REFERENCES BOOK_STORES(Rep_ID),
Store_ID INT REFERENCES BOOK_STORES(Store_ID),
PRIMARY KEY (Rep_ID, Store_ID, Quarter)
);