Emb*_*123 0 t-sql sql-server shared-primary-key sql-insert
如您所见,表使用相同的主键相互引用.这就是问题 - 我知道用两次INSERT调用放置数据会给我一个错误,说我违反了PK约束.有没有办法在代码中执行此操作?我想创建一个存储过程,用于添加"主要产品"(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关系中,只有一个表具有引用另一个的外键.所以你先插入没有外键的表.尝试简单地颠倒插入的顺序:
INSERT INTO SUROWCE VALUES(25, 'wood');
INSERT INTO STAN VALUES(25, 5, 1000);
Run Code Online (Sandbox Code Playgroud)