如果我手动插入数百行,我应该如何有效地编写insert语句,这样只有当两个外键已经存在于该数据库的记录中时,每个插入才会运行?
答案 0 :(得分:0)
在列上创建constraint
,here是一个很好的参考起点。
以下是FOREIGN KEY
约束的示例,并且为了在多列上定义FOREIGN KEY
约束,请使用以下SQL语法:
MySQL / SQL Server / Oracle / MS Access:
CREATE TABLE Orders
(
O_Id int NOT NULL,
OrderNo int NOT NULL,
P_Id int,
PRIMARY KEY (O_Id),
CONSTRAINT fk_PerOrders FOREIGN KEY (P_Id)
REFERENCES Persons(P_Id)
)
答案 1 :(得分:0)
您可以添加@BrianAtkins所描述的唯一约束,也可以使用MERGE语句而不是INSERT,以避免在唯一约束违规时破坏整个插入。