我是靠谱客的博主 怕孤独美女,最近开发中收集的这篇文章主要介绍mysql 如何保证数据完整性 -- 笔记,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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 如何保证数据完整性 -- 笔记所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(63)

评论列表共有 0 条评论

立即
投稿
返回
顶部