还是一样,首先我们先来了解一下什么是外键约束:
所谓外键就是为了建立表与表之间的关系。外键是可以重复的,可以为空的。
通常情况下一个表的外键是另外一张表的主键。
在企业实战中有80%的企业不使用外键约束,有20%的企业使用外键约束,所以,
外键约束加与不加,看的是实际情况下的公司要求是怎样的
那问题来了,外键约束的作用是什么??
1.
就是当两张表关联时,是通过id关联的,
外键所存在的表的字段正常情况下是可以随便填的,但没有丝毫意义,
扫描二维码关注公众号,回复:
2226630 查看本文章
当添加了外键约束时,这个数就被限制起来了,只允许填入主表所有的id,
如果在Oracle数据库中手动或代码写入无任何意义的id,
则会报一个 " 违反完整约束条件,未找到父项关键字 " 的错误
2.
就是在当你设置了外键约束后,删除主表是无法删除的,只有通过先删除子表,再删除主表才可以删除
会报一个"违反完整约束条件-已找到子记录"
打个比方说,班级表与学生表相关联,班级表为主表,学生表是子表,那么这俩表相关联后就无法先删除班级表
因为:"班级下还有学生"
那如何通过代码实现外加约束的创建:
alter table 表名 add constraint 外键约束名称 foreign key (外键字段名) reference 参考的表名(id字段名);