Mysql的外键

Posted MargoHu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql的外键相关的知识,希望对你有一定的参考价值。

概念:如果一个实体A的某一字段,刚好指向或引用另一个实体B的主键,那么实体A的这个字段就叫作外键,所以简单来说,外键就是外面的主键,就是其他表的主键。

例:

以上的学生表的班级字段,就是一个外键!

其中,被指向的实体集,称之为父表(主表),负责指向的那个表就是子表(从表),上面的学生表就是子表,班级表就是父表!

 

作用:

外键的意义就是用来约束关系内的实体!

 

假如上面学生表中有一个学生的班级字段是11,就不符合正常的业务逻辑!因为班级表中没有id为11的记录。

所以,外键约束主要体现在以下的两个方面:

1,  增加子表记录的时候,是否有与之对应的父表记录!

2,当删除或更改父表记录的时候,从表应该如何处理相关的记录!

 

定义:

语法:foreign key(字表字段) refeerences 父表名(父表键名)

1,先创建父表:

2,再创建子表:

 

 

 

以上只是体现了外键作用的一个方面,也就是当插入子表记录的时候,需要在父表中有与之对应的记录!

还有一个方面:当删除或更改父表记录的时候,从表应该如何处理相关的记录!

此时,需要设置相关的级联操作!

 

 设置级联操作:

 

以上是关于Mysql的外键的主要内容,如果未能解决你的问题,请参考以下文章

mysql表中,表的外键关联自身主键,为啥插入不了数据?

MySQL 主键外键

Mysql主键外键和索引的区别

day2mysql主键外键自增

mysql数据库怎么删除一个表的外键

MySQL数据库8(十九)外键