mysql 如何保证数据完整性 -- 笔记
来源:互联网 发布:java 列出n之前的质数 编辑:程序博客网 时间:2024/05/01 17:40
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 如何保证数据完整性 -- 笔记
- 3.保证数据完整性
- 约束-保证数据完整性
- MySql_保证数据完整性
- 保证数据完整性
- 保证数据完整性
- SQL保证数据完整性
- 保证数据完整性
- 保证数据完整性
- 保证数据完整性1
- 保证数据完整性
- 保证数据的完整性
- 保证数据的完整性
- 保证数据完整性
- 保证数据完整性
- 保证数据的完整性
- 如何保证数据库完整性
- 数据完整性以及保证数据完整性
- C#委托的异步调用
- [小说]魔王冢(尾声)
- 关于ADB server didn't ACK的问题
- keychain的功能简介
- SDTRP
- mysql 如何保证数据完整性 -- 笔记
- NSTimer与Run loop Modes
- CentOS mirrorlist导致的OpenStack 镜像制作失败
- LeetCode: Longest Common Prefix
- Qt 5.1 QApplication: No such file or directory
- 【cocos2d-x入门实战】环境配置、交叉编译及安卓项目的生成
- Smart Client Software Factory 如何使用Action Catalog
- Unity3d使用delegate
- JQuery学习系列总结—可编辑的表格