赞
踩
打开要填入数据的表
点击新增,创建行。
还未成功修改的值会被标上红色三角
将数据填充完毕后点击提交修改
点击直接执行
可单条输入也可多条输入
当表中引用外码之后数据的填充将会变得比较复杂
——以下以填充带外键Cpno的表Course为例
仿照填充表Student的方式填充表Course
这是为什么呢?
原来INSERT语句是一句一句执行的,只有语句被成功执行,数据才能被插入数据库。外键Cpno参考Cno,只有当数据库中有Cno的值,Cpno才能参考,不然就会报错,导致语句无法执行。
语句“INSERT INTO `test`.`Course` (`Cno`,`Cname`,`Cpno`,`Ccredit`) VALUES ('1','数据库','5',4);”将5填入Cono,但此时该语句作为第一条语句,数据库中没有Cno=‘5’的记录,故系统报错。
现在我们调整一下顺序,使每个被参照的对象都存在。
这是外键约束的体现
现在我们引用表Course建立表SC
此时我在表Course中执行删除Cno=‘3’的元组的语句将会怎么样?
接下来我将表SC中Cno=‘3’的元组删去,再来删除表Course中Cno=‘3’的元组又将如何?
由此可知外键约束不仅会约束数据的插入,还会约束数据的删除。
在SQL语言中删除有两种模式:CASCADE\RESTRICT
其中CASCADE和RESTRICT两者必选其一。选择了CASCADE,表示在删除模式的同时把该模式中所有数据库对象全部删除;选择了RESTRICT,表示如果该模式中已经定义了下属数据库对象(如表、视图等),则拒绝该删除语句的执行。
删除的默认模式是RESTRICT,因此上面对被参考的数据进行删除时,系统报错,阻止删除语句的执行。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。