您现在的位置是:首页 > 编程 > 

【MySQL】012

2025-07-25 11:45:11
【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组装电脑配置单推荐报价格

本文地址:http://www.dnpztj.cn/biancheng/1199972.html

相关标签:无
上传时间: 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