我正在尝试使用Rep_ID,Store_ID和Quarter创建一个具有复合PK约束的表,我正在尝试在Rep_ID和Store_ID上创建FK约束
这是我的陈述:
CREATE TABLE REP_CONTRACTS(
Store_ID INT(8),
Name INT(5),
Quarter CHAR(3),
Rep_ID INT(5),
PRIMARY KEY (Rep_ID, Store_ID, Quarter),
Rep_ID INT REFERENCES BOOK_STORES(Rep_ID),
Store_ID INT REFERENCES BOOK_STORES(Store_ID)
);
这些是我的表格:
书店:
Column Name Datatype Constraint Comments
Store_ID INT(8) PRIMARY KEY column
Name VARCHAR(30) Should be UNIQUE and NOT NULL
Contact VARCHAR(20)
Rep_ID INT(5)
代表合同
Column Name DataType
Store_ID INT(8)
Name INT(5)
Quarter CHAR(3)
Rep_ID INT(5)
我已经创建了书店表,我正在尝试创建rep合约表
运行此查询时,我也收到错误Duplicate column name 'Rep_ID'. Add a differentiating column alias.
答案 0 :(得分:1)
您在表中声明了两次REPID,这就是您收到重复错误的原因。您可能还想创建列"商店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)
);