【发布时间】:2020-10-19 14:44:17
【问题描述】:
我需要在 2 个表上进行插入,其中两个表都有一个外键(不可为空) 不幸的是,使用事务不起作用。还有其他方法吗?
【问题讨论】:
-
那么表A对表B有外键,B对A有外键?听起来像是一个奇怪的设计选择......
-
正确。除了奇怪的设计,你知道这是否可以做到吗? :)
标签: sql-server foreign-keys sql-insert
我需要在 2 个表上进行插入,其中两个表都有一个外键(不可为空) 不幸的是,使用事务不起作用。还有其他方法吗?
【问题讨论】:
标签: sql-server foreign-keys sql-insert
不幸的是,使用事务不起作用。还有其他方法吗?
在 SQL Server 中执行此操作的唯一方法是在插入数据时将表更改为 NOCHECK 约束之一(或使用可以绕过约束检查的批量插入或复制)。显然,这不是你想在运行时做的事情。
典型的解决方案是允许其中一个 FK 可以为空。
【讨论】: