频道栏目
首页 > 资讯 > 其他综合 > 正文

MySQL中的外键及数据完整性

18-08-17        来源:[db:作者]  
收藏   我要投稿

外键概述

MySQL中的InnoDB存储引擎是支持外键的,传统引擎的不支持。外键是把一个表中的索引列与另一个表中的索引列关联起来,以实现同步操作的目的,也是保证了数据的完整性

一般实现外键需要两张或以上的表:主表和从表,比如主表为班级表,从表为学生表,每个学生都在指定的班级里,那么主表的ID和从表的class_id就形成了关联,而class_id就是我们所说的外键。

外键模式

外键有两种主要操作模式:删除时(ON DELETE)和更新时(ON UPDATE)。在删除或更新状态下,有四种情况:
1、RESTRICT,默认设置,当主表id关联着从表数据(class_id)时,无法删除和修改的;
2、SET NULL,当主表记录被删除或修改时,从表的class_id被设置成为NULL(注意:这个字段要允许NULL才行);
3、CASADE,当主表记录被删除或修改时,从表关联数据也会被删除或class_id相应修改;
4、NO ACTION,当主表记录被删除或修改时,如果关联着字表,则产生一个错误并回滚之前的操作。

使用范围

一般来说,外键有较强的数据约束性,保证了数据的安全和完整,特别适合于数据库项目使用。而对于我们的Web项目,基于支持度、性能、方便、以及程序代码的可读性考虑,可能使用外键的较少。

相关TAG标签
上一篇:python3print输出不换行
下一篇:常用五大数据类型详细介绍
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站