嗨 我有2个表A和B.A和B之间有1对1的关系。现在说我在A和B(A1和B1)中有记录通过这种1对1的关系是相关的。我将如何删除这两个记录。如果我删除A1 1st,那么我得到的冲突错误与B1相同。以1对1的关系删除这两个记录
我只是好奇
谢谢
嗨 我有2个表A和B.A和B之间有1对1的关系。现在说我在A和B(A1和B1)中有记录通过这种1对1的关系是相关的。我将如何删除这两个记录。如果我删除A1 1st,那么我得到的冲突错误与B1相同。以1对1的关系删除这两个记录
我只是好奇
谢谢
模型表中的C
A
和B
之间的关系。 C
将参考(FK)A
和B
。要删除关系,请删除C
中的相应行。那么是否也应删除实体A
和/或B
是一个单独的问题。
你用什么数据库,MSSQL Oracle,MySQL等?一些数据库支持级联删除(前两个我提到支持它肯定)。或者有另一种方法,使用触发器。把它挂在一个会触发第二个的删除,但首先关闭这两个表的一致性并最终打开它。
编辑:如果你使用的是MSSQL,那么你可以像这样设置级联删除。 (如果您的模式是类似于表A具有主键是在表B中的主/ foreighn键)
ALTER TABLE [dbo].[YourTable] WITH CHECK ADD CONSTRAINT
[FK_YourTable1_YourTable2] FOREIGN KEY([YourForeignKey])
REFERENCES [dbo].[YourTable2] ([Id])
ON DELETE CASCADE
GO
请提供架构信息,例如为表和外键创建表脚本。您的问题的答案可能是使用级联删除。 – 2011-02-01 10:47:21
相同的不能去B1,除非你有循环FK的数据库不应该允许... – leppie 2011-02-01 11:02:38
只是好奇。如何使用这种设置将数据添加到表格中?如果你不能添加,你将永远不需要删除。 – 2011-02-01 12:43:39