外键
外键:foreign key,外面的键,即不在自己表中的键。如果一张表中有一个非主键的字段指向另外一张表的主键,那么将该字段称之为外键。每张表中,可以有多个外键。
外键作用
首先,给出父表和子表的定义:
- 父表,指外键所指向的表;
- 子表,指相对于父表,拥有外键的表。
外键默认的作用有两个,分别对子表和父表进行约束。
第 1 种:约束子表
在子表进行数据的写操作(增和改)的时候,如果对应的外键字段在父表找不到对应的匹配,那么操作就会失败。
执行如下 SQL 语句,进行测试:
1
2
3
4
5
6
7 1-- 插入数据,外键字段在父表不存在
2insert into my_foreign2 values(null,'Charies','6');
3
4-- 插入数据,外键字段在父表存在
5insert into my_foreign2 values(null,'Charies','1');
6
7
如上图所示,在我们向子表my_foreign2插入外键字段为6的时候,提示插入失败,原因就是在父表class中,没有ID为6的记录。而在我们向子表my_foreign2插入外键字段为1的时候,提示成功,原因就是在父表class中,有ID