MySql的事务和特性
事务就是要保证一组数据库的操作,要么全部成功,要么就全部失败,保持数据库的一致性。
特性
原子性(Atomicity)、一致性(Consistent)、隔离性(Isolation)、持久性(Durable)。正是这些特性,保证了数据库事务的安全性。
- 原子性
原子性是指一个事务是一个不可分割的工作单位,其中的操作要么全都做,要么都不做;如果事务中的一个sql语句执行失败,则已经执行的语句必须回滚,数据库退回到事务前的状态。
设置数据库事务不自动提交,通过手动提交,失败的时候通过回滚到之前的状态。
- 持久性
持久性是指事务一旦提交,它对数据库的改变就是永久性的,接下来的其他操作或者故障不应该对其有任何的影响。
- 一致性
一致性是指事务执行结束后,数据库的完整性约束没有被破坏,事务执行的前后都是合法的数据状态。数据库的完整性约束包括但不限于:实体完整性(主键存在且唯一)、列完整性(字段类型、大小、长度合法)、外键约束、用户自定义完整性。
- 隔离性
隔离性研究的是不同事物之间的相互影响,隔离性是指,事物内部的操作与其他事物是隔离的,并发执行的各个事物之间不能相互干扰。
的操作与其他事物是隔离的,并发执行的各个事物之间不能相互干扰。