向 1:1 个相关表中插入行

Insert rows to 1:1 related tables

我想将新行放入 sql-server 中与 1:1 相关的表中。

如您所见,表使用相同的主键相互引用。这就是问题所在——我知道用两个 INSERT 调用放置数据会给我一个错误,说我违反了 PK 约束。有没有办法在代码中执行此操作?我想创建一个用于添加 "primary products" (SUROWCE) 并在 "stock" (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'.

在 1:1 关系中,只有一个 table 具有引用另一个的外键。所以你先插入 table 而没有 外键。尝试简单地颠倒插入的顺序:

INSERT INTO SUROWCE VALUES(25, 'wood');
INSERT INTO STAN VALUES(25, 5, 1000);