mysql中的外键

作者: 没睡醒的鱼 | 来源:发表于2018-04-13 22:59 被阅读35次

什么是外键?

在一个表中存在的另一个表的主键称为此表的外键

所以还是举一个学生个人信息表的例子来更好的理解: 学生个人信息表 给表1加了一个外键,这个外键就是表2中的学号字段,那么表1就是主表,表2就是从表。

为什么要使用外键呢?

为了让一张表记录的数据不要太过冗余,在数据库中对表关系进行解耦,尽量让表记录的数据单一化。

为什么说外键能保持数据的一致性?

在不设置外键的情况下,表1中的学号字段与表2中的学号字段时没有关联的,仅仅是你觉得他们之间有关系而已,数据库认为他们之间一点关系都没有。假设你在表2中插入一个学号,这个学号在表1中是没有的,但是数据库任然允许你插入。而在设置了外键的情况下,当对表2进行学号插入时,必须确保表1中的学号字段也要有这个值。当对表1的数据进行删除时,必须保证表2相应的字段中没有该值,否则就没法删除。

相关文章

  • mysql中的外键

    什么是外键? 在一个表中存在的另一个表的主键称为此表的外键 为什么要使用外键呢? 为了让一张表记录的数据不要太过冗...

  • 09_MySQL多表 & JDBC

    MySQL多表 外键 主表主键和从表外键 ==(从表的外键引用主表的主键)== 从表的外键类型必须和主表的主键类型...

  • Mysql外键

    只有InnoDB存储引擎才支持外键 有两张表: 创建外键 方式1: 如上面创建表的语句: 方式2: 删除外键

  • mysql外键

    为已经添加好的数据表添加外键: 语法:alter table 表名 add constraint FK_ID fo...

  • MySQL - 外键

    一、定义 外键约束(FOREIGN KEY Constraint) ,用来维护从表(Child Table)和主表...

  • mysql的外键

    回顾数据库的主键 主键一般与auto_increment一起使用: 外键:foreign key插入记录时,字段值...

  • 4.4 django 模型外键和表关系

    外键和表关系 外键: 在MySQL中,表有两种引擎,一种是InnoDB,另外一种是myisam。如果使用的是Inn...

  • django中ORM外键和表的关系-上

    外键和表关系 外键: 在MySQL中,表有两种引擎,一种是InnoDB,另外一种是myisam。如果使用的是Inn...

  • 最浅显易懂的Django系列教程(18)-外键和表关系

    外键和表关系 外键: 在MySQL中,表有两种引擎,一种是InnoDB,另外一种是myisam。如果使用的是Inn...

  • 设置外键,外键约束值的区别

    laravel 设置外键,并设置外键约束的方式 为联级删除 更新:在使用Navicat for mysql设计表时...

网友评论

    本文标题:mysql中的外键

    本文链接:https://www.haomeiwen.com/subject/diohkftx.html