我的数据库中有两个表。
这是架构...
CREATE TABLE Receipt (
ReceiptID VARCHAR(50),
ProductNo SMALLINT,
ProductBarcode SMALLINT,
FOREIGN KEY (productNo, productBarcode) REFERENCES Receipt(productNo, productBarcode),
PRIMARY KEY (receiptID)
);
CREATE TABLE Product (
ProductNo SMALLINT,
ProductBarcode SMALLINT,
PRIMARY KEY (productNo, productBarcode)
);
我正在使用MySQL,并且在使用复合键时需要一些帮助。
如果有人可以在这里帮助我,我将不胜感激。
最佳答案
在mysql数据库中创建复合键的语法是
CONSTRAINT constraint_name PRIMARY KEY (col_1,col_2,col_3)
对于您的情况:
-在创建表时创建约束----
CREATE TABLE Receipt
(
ReceiptID VARCHAR(50),
ProductNo SMALLINT,
ProductBarcode SMALLINT,
PRIMARY KEY (receiptID),
INDEX (productNo, productBarcode)
FOREIGN KEY (productNo, productBarcode)
REFERENCES Receipt(productNo, productBarcode)
);
-向现有表添加约束----
ALTER TABLE收据
添加[constraint [constraint_name]]
外键(productNo,productBarcode)
参考收据(产品编号,产品条形码)
关于mysql - 如何使用组合键作为外键?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22642213/