我们在数据输入到数据库之前需要验证数据的有效性,如非null是约束某个字段必
需填入,unique是确保不会有重复值的约束条件.约束条件有许多,最重要的是参照完整
性(Referential Integrity,RI), 参照完整性是关系数据库中的主要数据验证类型.验证规
则是在输入或更新数据时验证数据,如果数据不能通过验证,那么将拒绝对数据的添加
或修改.
如果想使用update 语句或者delete语句更新或删除一个主键中的值,而这个值正为外
键所使用,不允许执行更新和删除操作.
为了删除一个表的特定主键值的行,我们首先必须保证该主键值没有被其它表任何一行的数据使用.那么怎么删除这个特定主键值的行呢?
这里为了更好的说明,将包含主键的表称为主表,将包含外键的表称为外表,
第一种方法:
首先删除外表中的外键的相关数据,可以将它更新为null,再删除.如:
Update 外表 set 外键=null where where 外键="特定值";
Delete from 主表 where 主键="特定值"
外键的值只能包含在主键值中.
第二种方法:
在主表中插入一个主键为新值的行,再将外表中的外键值更改为新值,这时外表中没有原值了,故可以在主表中删除主键为原值的行了.
Insert into 主表 values('新值','值1','值2')
Update 外表 set 外键='新值' where 外键='原值'
Delete from 主表 where 主键='原值'