4
A
回答
5
选择允许将null
s插入到FK列中的记录,将其插入到那里,删除其他记录,然后删除第一个记录。
4
要么
ON DELETE CASCADE
或插入为NULL的FK的如果多数民众赞成可能模式中的一个,不知道厂商不能提供更多的信息。
0
如果两个表彼此引用外键,那么数据库设计很可能需要改进。我想这应该调用一张额外的桌子来照顾这个设计。
对于您的问题,您可以更新一个表中的FK键字段为空,然后在两个表上触发删除。
但要做到这一点,请确保您确定两个PK提前将其删除。
黑毡帽
+0
数据库设计可能如预期的那样:您可以强制执行一条规则,即父级必须至少有一个子级,或者在父级行中将子行标记为“默认”。 – gbn 2010-02-28 09:13:58
1
如果你的列是允许为空,更新其数据,那么为NULL删除数据。
0
ALTER TABLE <table1> NOCHECK CONSTRAINT ALL
GO
ALTER TABLE <table2> NOCHECK CONSTRAINT ALL
GO
DELETE FROM <table1>
GO
DELETE FROM <table2>
GO
ALTER TABLE <table1> CHECK CONSTRAINT ALL
GO
ALTER TABLE <table2> CHECK CONSTRAINT ALL
GO
+1
可能要添加说明。 – Huey 2015-07-22 09:57:23
相关问题
- 1. 两个外键引用一个表
- 2. 如何将具有外键约束的记录删除到另一个表中?
- 3. 引用相同列的两个外键
- 4. 删除除一个重复记录以外的所有记录
- 5. 如何解决需要两个外键引用同一个表
- 6. 删除多个记录相关表
- 7. 如何删除表中的一行时删除所有相关的表记录?
- 8. 如何将外键映射到两个相互引用的实体中
- 9. 两个相连的表中有相同的记录具有相同的外键
- 10. 如何从两个表中删除两条记录?
- 11. PHP&MySQL - 如何从两个表中删除用户记录
- 12. 如何用`@ OneToMany`关系从两个表中删除记录?
- 13. 如何加入两个相关的表,而一个记录是指另一个中的两个记录?
- 14. 在尝试删除MySQL中的任何记录之前,如何检查记录列表的外键引用?
- 15. Django的:如何有多个外键,引用相同的表中的一个表
- 16. LINQ to SQL删除记录引用的外键
- 17. 删除MySQL表中的两个外键之一
- 18. 如何删除最后一个记录
- 19. 如何从两个键的变量中删除一个键?
- 20. 加入到表中有两个或多个记录具有相同的外键
- 21. 引用同一个表的两个外键的mysql查询
- 22. 如何在外键死锁时删除记录?
- 23. 如何删除相互引用的表中的行?
- 24. 如何删除外键引用的唯一索引?
- 25. Mysql:用外键删除两个表中的行
- 26. 从mysql中的一个表中删除所有未被引用的(通过外键)记录
- 27. C# - 如何使两个表单互相引用
- 28. MySQL:在一个表中引用另一个表的两个外键
- 29. 如何根据另一个表中的值删除一个表中的记录?
- 30. 数据建模两个引用相同主键的外键
我想你已经设计你DB错了,如果两个表相互引用? – Steven 2010-02-27 10:49:29