【MySQL】012
【MySQL】012
一、基本介绍1、概念如果一个包含多个步骤的业务操作,被事务管理,那么这些操作要么同时成功,要么同时失败;2、操作①开启事务:start transaction;②回滚:rollback;③提交:commit;案例:、MySql数据库中事务默认自动提交事务自动提交:一条DML(增删改)语句会自动提交一次事务;事务手动提交:手动开启事务(start transaction),需
【MySQL】012
1、概念
如果一个包含多个步骤的业务操作,被事务管理,那么这些操作要么同时成功,要么同时失败;
2、操作
①开启事务:start transaction;
②回滚:rollback;
③提交:commit;
案例:
、MySql数据库中事务默认自动提交
事务自动提交:一条DML(增删改)语句会自动提交一次事务;
事务手动提交:手动开启事务(start transaction),需要手动提交(commit);
修改事务的默认提交方式:
代码语言:javascript代码运行次数:0运行复制-- 查看默认的提交方式
select @@autocommit; -- 1代表自动提交 0代表手动提交
-- 修改默认的提交方式
set @@autocommit = 0;
1、原子性:是不可分割的最小操作单位,要么同时成功,要么同时失败;
2、持久性:当事务提交或回滚后,数据库会持久化地保存数据;
、隔离性:多个事物之间相互独立;(实际上,多个事物之间会产生影响,需要进行手动隔离(类似Java多线程里面,需要锁机制))
4、一致性:事务操作前后,数据总量不变;
1、概念:
多个事务之间是相互独立的,但是多个事务同时操作同一批数据则会引发一些问题,设置不同的隔离级别就可以解决这些问题;
2、存在问题
①脏读:一个事务读取到另一个事务中没有提交的数据;
②不可重复读(虚读):在同一个事务中,两次读到的数据不一样;
③幻读:一个事务(DML)数据表中所有记录,另一个事务添加了一条数据,则第一个事务查询不到自己的修改;
、4 大隔离级别
①read uncommited:读未提交
产生的问题:脏读、不可重复读(虚读)、幻读;
②read commited:读已提交
产生的问题:不可重复读(虚读)、幻读;
③repeatable read:可重复读(MySql默认)
产生的问题:幻读;
④serializable:串行化
可以解决所有问题;
注意:隔离级别越高,则安全性越高,但效率越低;
4、设置数据库隔离级别
查询数据库隔离级别:
代码语言:javascript代码运行次数:0运行复制select @@tx_isolation;
设置数据库隔离级别:
代码语言:javascript代码运行次数:0运行复制set global transaction isolation level 级别字符串;
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2025-01-06,如有侵权请联系 cloudcommunity@tencent 删除数据字符串数据库mysql事务 #感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格
上传时间: 2025-07-23 17:24:18
推荐阅读
留言与评论(共有 12 条评论) |
本站网友 汇安人才 | 26分钟前 发表 |
要么同时失败;2 | |
本站网友 chengguan | 21分钟前 发表 |
原子性:是不可分割的最小操作单位 | |
本站网友 厦门安德鲁森 | 7分钟前 发表 |
事务的四大特征(常见面试题)1 | |
本站网友 恒力股份 | 0秒前 发表 |
事务的隔离级别(了解)1 | |
本站网友 上海白金汉宫 | 28分钟前 发表 |
原子性:是不可分割的最小操作单位 | |
本站网友 联通话费余额查询 | 8分钟前 发表 |
另一个事务添加了一条数据 | |
本站网友 罗亚平 | 20分钟前 发表 |
【MySQL】012 一 | |
本站网友 王祥云 | 11分钟前 发表 |
不可重复读(虚读) | |
本站网友 吴志雄 | 14分钟前 发表 |
那么这些操作要么同时成功 | |
本站网友 博亚和讯网 | 11分钟前 发表 |
数据总量不变;三 | |
本站网友 44507 | 6分钟前 发表 |
但效率越低;4 |