数据库的事务

来源:互联网 发布:子宫肌瘤微创手术知乎 编辑:程序博客网 时间:2024/05/24 11:13

一、Mysql事务
事务:逻辑上的一组操作,组成这组操作的单元,要么都成功,要么都不成功。
Mysql事务:
JDBC如何控制事务:
这里写图片描述
事务的特性:(重点)ACID
原子性:指事务是一个不可分割的单位,事务中的操作要么都发生,要么都不发生
一致性:事务必须使数据从一个一致性状态转化到另一个一致性状态
隔离性:事物的隔离性是指多个用户并发访问数据库,数据库为每个用户开启一个事务,不能被其他事务对数据库产生的对数据的干扰,多个并发事务之间要相互隔离
持久性:是指一个事务一旦提交了,他对数据库中的数据产生的影响是永久的,不会因为数据库接下来发生的故障而发生改变。
4、事务隔离性的级别
脏读:一个事务读取了另一个事务没有提交的数据
不可重复读:在一个事务内读取表中的某一行数据,多次读取的结果不同,一个事务读取到了另一个事务update之后的数据
虚读(幻读):一个事务读取到了另一个事务insert的数据,导致前后读取的不一致.
数据库通过设置隔离的级别防止以上错误的发生:
* 1、READ UNCOMMITTED: 赃读、不可重复读、虚读都有可能发生。
* 2、READ COMMITTED: 避免赃读。不可重复读、虚读都有可能发生。(oracle默认的)
* 4、REPEATABLE READ:避免赃读、不可重复读。虚读有可能发生。(mysql默认)
* 8、SERIALIZABLE: 避免赃读、不可重复读、虚读。

0 0
原创粉丝点击