【发布时间】:2020-09-01 18:51:16
【问题描述】:
CREATE TABLE Purchase_Supplier
(
SUPPLIER_ID int NOT NULL,
NAME varchar(255) NOT NULL,
TYPE_OF_SUPPLIER varchar(255),
STOCK_NAME varchar(255) NOT NULL,
TYPE_OF_SUPPLY varchar(255) NOT NULL,
CONSTRAINT PU_SU PRIMARY KEY (SUPPLIER_ID)
)
INSERT INTO Purchase_Supplier
VALUES(41256,'FLYNN SAVIOUR','IN_HOUSE','Desktop','WHOLESALE');
INSERT INTO Purchase_Supplier
VALUES(41257,'JONES LYNN','IN_HOUSE','Mouse','WHOLESALE');
CREATE TABLE Purchase_Supply_Details
( INSPECTION VARCHAR(25) NOT NULL,
ITEM_CONDITION VARCHAR(25) NOT NULL,
RETURN_STOCK VARCHAR(25) NOT NULL,
STOCK_ID INT NOT NULL,
CONSTRAINT PSD PRIMARY KEY (SUPPLIER_ID, STOCK_ID),
SUPPLIER_ID int FOREIGN KEY REFERENCES Purchase_Supplier(SUPPLIER_ID)
);
INSERT INTO Purchase_Supply_Details
VALUES('SAMPLE','PERFECT','NO',4123023,41259);
INSERT INTO Purchase_Supply_Details
VALUES('PIECE','PERFECT','NO',4123024,41260);
在此表中插入值时发生错误。在添加约束后,它也不适用于该条件。怎么办??
【问题讨论】:
-
您在 Purchase_Supplier 表中没有 SUPPLIER_ID = 41263。这就是外键的工作原理。您不能将未知的 SUPPLIER_ID 插入到 Purchase_Supply_Details 表中。
标签: sql sql-server sql-insert