EF中的Foreign-key的删除关系
来源:互联网 发布:淘宝的经营模式 编辑:程序博客网 时间:2024/04/30 07:19
删除操作是我们开发中经常会遇到的一个问题,而关联删除也是其中常遇到的一种情况,下边是一个小例子来说明允许外键为空值的情况.
数据库表为group(用户组)/user(用户表),表关系为一对多,user表中Group_Gid与group表中Gid字段建立外键关系.
user表
group表
user表数据
group表数据
下面代码我要删除用户组gid为2的user用户组,从上边的user表中可以看出大部分用户都属于user组.
不用多说这段代码肯定会报异常:DELETE 语句与 REFERENCE约束"FK_Users_Groups_Group_Gid"冲突。该冲突发生于数据库"users",表"dbo.Users",column 'Group_Gid'。语句已终止。
原因当然是名为"User"的用户组外键存在数据,此时当然不允许进行删除操作.除非你查询到所有"多"的数据,把它保存给"一",然后执行删除操作,则可以成功.
user表删除后结果
group表删除后结果
下面我手动在group表中增加一条数据Test用户组,gid为4,把gid换成user表中没有外键数据的4,即外键数据为空的时候,就允许删除操作了.
数据库表为group(用户组)/user(用户表),表关系为一对多,user表中Group_Gid与group表中Gid字段建立外键关系.
user表
group表
user表数据
group表数据
下面代码我要删除用户组gid为2的user用户组,从上边的user表中可以看出大部分用户都属于user组.
不用多说这段代码肯定会报异常:DELETE 语句与 REFERENCE约束"FK_Users_Groups_Group_Gid"冲突。该冲突发生于数据库"users",表"dbo.Users",column 'Group_Gid'。语句已终止。
原因当然是名为"User"的用户组外键存在数据,此时当然不允许进行删除操作.除非你查询到所有"多"的数据,把它保存给"一",然后执行删除操作,则可以成功.
user表删除后结果
group表删除后结果
下面我手动在group表中增加一条数据Test用户组,gid为4,把gid换成user表中没有外键数据的4,即外键数据为空的时候,就允许删除操作了.
- EF中的Foreign-key的删除关系
- foreign key 外键 创建 删除
- SQL FOREIGN KEY 约束的建立与删除(转)
- Mysql删除foreign key 和 key
- python models中的Foreign Key关系和Many-To-Many关系
- mysql 用foreign key实现级联删除
- (mysql)Foreign key的使用
- FOREIGN KEY 在ORACLE中的使用
- 数据库中的参照完整性(Foreign Key)
- foreign key
- foreign key
- mysql外键(foreign key)的用法
- mysql外键(foreign key)的用法
- MYSQL外键(Foreign Key)的使用
- MYSQL外键(Foreign Key)的使用
- sql server foreign key 的一点记录
- (mysql)Foreign key的使用 InnoDB
- MYSQL外键(Foreign Key)的使用
- Rails 3.2 的 Ajax 向导
- oracle超出打开游标的最大数的原因和解决方案
- 激活 MyEclipse9 时出现"CreateProcess Failed!"的另一解决方法
- 简单希尔排序
- Drupal7 如何配置发送Email?
- EF中的Foreign-key的删除关系
- 动态验证用户是否存在
- oracle什么时候需要commit
- threading python
- SEH 机制探索1 --- TEB 结构
- snow leopard 和 Xcode 4.2搞定ios5.1调试
- Pal
- Drupal 7如何配置Clean URL?
- cvLoadImage加载图像路径转化