我的数据库中有两个表。
这是架构......
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,我需要使用复合键的帮助。
如果有人能帮助我,我将不胜感激。
答案 0 :(得分:0)
在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收据
ADD [constraint [constraint_name]]
FOREIGN KEY(productNo,productBarcode)
REFERENCES Receipt(productNo,productBarcode)