DELETE语句与ASP.NET动态数据中的REFERENCE约束冲突

前端之家收集整理的这篇文章主要介绍了DELETE语句与ASP.NET动态数据中的REFERENCE约束冲突前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有两个表Application_User和Application_User_Access. Application_User_Access表与Application_User表具有外键约束.

当我删除Application_User表中的记录时,我收到“与REFERENCE约束冲突的DELETE语句”异常.

这在ASP.NET动态数据实体Web应用程序中发生.我想在这种情况下删除所有子记录,最后删除父记录.怎么实现这个?

解决方法

您可以为Application_User_Access表实现级联删除.为此,您需要稍微修改数据库架构.具体删除Application_User_Access中的先前引用到Application_User表并添加一个新引用:
--not sure about the column names though

ALTER TABLE Application_User_Access
ADD CONSTRAINT FK_Application_User_Access_Application_User
FOREIGN KEY (used_id)
REFERENCES Application_User(id)
ON DELETE CASCADE
GO

注意ON DELETE CASCADE的事情.这意味着每当删除主键记录时,也会删除引用它的外键记录.

猜你在找的asp.Net相关文章