0

我想将新行放入 1:1 相关的表中sql-server这些表的图表

如您所见,表使用相同的主键相互引用。这就是问题所在——我知道用两个INSERT调用放置数据会抛出一个错误,说我违反了 PK 约束。有没有办法在代码中执行此操作?我想创建一个存储过程,用于添加“初级产品”(SUROWCE)并对应于“库存”(STAN)中的记录。

我的代码尝试: INSERT INTO STAN VALUES(25, 5, 1000); INSERT INTO SUROWCE VALUES(25, 'wood');

Msg 547, Level 16, State 0, Line 4 The INSERT statement conflicted with the FOREIGN KEY constraint "FK_STAN_SUROWCE". The conflict occurred in database "TestBazyDanych", table "dbo.SUROWCE", column 'ID_SUROWCA'.

4

1 回答 1

6

在 1:1 关系中,只有一个表具有引用另一个表的外键。因此,您首先在没有外键的情况下插入表中。尝试简单地颠倒插入的顺序:

INSERT INTO SUROWCE VALUES(25, 'wood');
INSERT INTO STAN VALUES(25, 5, 1000);
于 2019-01-21T21:26:14.470 回答