以1对1关系删除两个记录

时间:2011-02-01 10:41:13

标签: sql tsql

您好 我有2个表A和B.A和B之间有一对一的关系。现在说我有A和B(A1和B1)中的记录,这些记录通过这种1对1关系相关。我该如何删除这两个记录。如果我删除A1 1st,那么我会得到一个与B1相同的冲突错误。

我只是好奇

谢谢

2 个答案:

答案 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中对BC之间的关系进行建模。 C将引用(FK)AB。要删除关系,请删除C中的相应行。是否还应删除实体A和/或B是一个单独的问题。