向 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);
我想将新行放入 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);