注册 登录
编程论坛 SQL Server论坛

sql 外间冲突

sunzhirui 发布于 2014-11-22 19:10, 533 次点击
只有本站会员才能查看附件,请 登录




sql数据库,学生选课管理系统,当删除某一个学生的信息,与选课的信息冲突
3 回复
#2
volte2014-11-25 10:49
那就先删除选课信息再删除学生信息。
#3
厨师王德榜2014-11-25 11:19
是外键约束,要先删除选课信息,以后再处理这种数据,都要先看看有哪些约束.
#4
xiaofu2222014-12-30 16:35
外键取值规则:空值或参照的主键值。
(1)插入非空值时,如果主键表中没有这个值,则不能插入。
(2)更新时,不能改为主键表中没有的值。
(3)删除主键表记录时,你可以在建外键时选定外键记录一起级联删除还是拒绝删除。
(4)更新主键记录时,同样有级联更新和拒绝执行的选择。

删除规则
指定当数据库的最终用户尝试删除某一行,而该行包含外键关系所涉及的数据时所发生的情况。如果设置为:
       Restrict(限制)︰如果有从行就不能删除父行。
       Cascade(级联)︰删除父表中的行会自动删除从表中的任何相关行。
       No Action(无动作)︰这是默认的情况,如果有从行就不能删除父行。和restrict的区别在于何时执行约束。
       Set Null(置空)︰该规则确保在父表删除一行时,讲从表的外键置空(如果允许空的话),行的其它列保持不变。
1