概述
mysql 约束和索引
相同点: 保证证数据的完整性
区别: 索引是从数据结构的角度来保证数据完整性, 而 约束是一个逻辑概念,用来保证数据完整性.
保证数据完整性的方法:
一. 对错误数据的约束
设置sql_mode 为 严格模式, 来提示报错而不是警告
服务器配置: my.cnf sql_mode ='STRICT_TRANS_TABLES' ;
客户端 使用 : set sql_mode = 'STRICT_TRANS_TABLES' ;
比如在非严格模式下, 对字段已设置为not null , 插入了 非法日期的值: 比如 2009-02-30.
二. ENUM 和 SET 约束(针对数据类型).
比如假设 性别 只允许两种, male, female. enum('male', 'female'), 也可以 enum(0, 1). 如果设置为 tinyint(1), 值就可以存在 0-9.
三. 触发器约束
通过创建触发器来过滤错误的数据.一般用在字读间的计算.
四.外键
InnoDB支持外键, 可以通过外键来保证数据的完整性. 比如 一个用户表, 对应有张子表来存储一些额外的信息,
子表通过外键就可以达到只要主表有 delete 和 update 的操作,对于的数据也会 delete 和 update.
MyISAM 表不支持外键,可以只用 触发器来控制数据完整性.
最后
以上就是怕孤独美女为你收集整理的mysql 如何保证数据完整性 -- 笔记的全部内容,希望文章能够帮你解决mysql 如何保证数据完整性 -- 笔记所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复