事务:一般我们是指要做什么事情。
做饭:买菜,洗菜,切菜,炒菜,
遛狗:
数据库中的事务四大特性:
1:原子性 不能再分割,要么一起成功,要么一起失败。
2:一致性 指数据从一个状态一起变成另外一个状态(数据的完整性没有被破坏)
3:持久性 将改变的数据持久化到本地储存,
4:隔离性 每一个事务都是独立的,不应该干扰到其他事务
1: READ UNCOMMITTED 读未提交 会引发脏读(A读到B没提交的数据)
2: READ COMMITTED 读已提交 防止了脏读,无法防止不可重复读(两次查询结果结果不一致)
3: REPEATABLE READ 可重复读(mysql默认) 防止了脏读,不可重复读,防止幻读
不可重复读: A在读取数据的时候 B修改了数据被A看见了
幻读(虚读): A在读取数据的时候 B增加数据被A看见了
4: SERIALIZABLE 串行化 相当于给表加了锁,如果B想操作表,必须要等A提交之后。
查看当前会话的默认隔离级别
SELECT @@tx_isolation;
设置mysql的隔离级别
SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED
MYSQL 的事务是自动提交的。
MYSQL如果没有开启事务的话,默认每一条sql都是一个独立的事务。
START TRANSACTION;
INSERT INTO user values(8,'李炳坤','女',20);
COMMIT;
UPDATE USER SET QIAN=qian-500 WHERE ID=1;
UPDATE USER SET QIAN=qian+500 WHERE ID=2;
select * from user
MySQL事物
最新推荐文章于 2024-09-15 09:47:04 发布