Mysql 使用主键和2个外键创建表时出错
我尝试使用Rep_ID、Store_ID和Quarter创建一个具有复合PK约束的表,并尝试在Rep_ID和Store_ID上创建一个FK约束 我的声明如下: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参考书目门店(门店标识) ); 这
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)
);