您好 我有2个表A和B.A和B之间有一对一的关系。现在说我有A和B(A1和B1)中的记录,这些记录通过这种1对1关系相关。我该如何删除这两个记录。如果我删除A1 1st,那么我会得到一个与B1相同的冲突错误。
我只是好奇
谢谢
答案 0 :(得分:0)
你使用什么数据库,MSSQL ORACLE,MySql?有些数据库支持级联删除(前两个我提到支持它肯定)。或者还有另一种方法,使用触发器。挂断它会删除一个会触发秒数,但首先关闭这两个表的一致性,最后打开它。
编辑:如果您使用的是MSSQL,则可以像这样设置级联删除。 (如果您的模式类似于表A,则主键是表B中的主键/前导键)
ALTER TABLE [dbo].[YourTable] WITH CHECK ADD CONSTRAINT
[FK_YourTable1_YourTable2] FOREIGN KEY([YourForeignKey])
REFERENCES [dbo].[YourTable2] ([Id])
ON DELETE CASCADE
GO
答案 1 :(得分:0)
在表A
中对B
和C
之间的关系进行建模。 C
将引用(FK)A
和B
。要删除关系,请删除C
中的相应行。是否还应删除实体A
和/或B
是一个单独的问题。