autocommit自动提交事务及commit、rollback用法

2024-08-21 03:20

本文主要是介绍autocommit自动提交事务及commit、rollback用法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

MySQL默认开启事务自动提交,每条SQL语句都会被当做一个单独的事务自动执行。

一、查看autocommit自动提交事物状态

SHOW VARIABLES LIKE ‘autocommit’;

1、开启状态:ON

autocommit的值为ON,表示系统开启自动提交模式
在这里插入图片描述

2、关闭状态:OFF

autocommit的值为OFF,表示系统关闭自动提交模式
在这里插入图片描述

二、修改autocommit状态

1、临时修改autocommit状态

#开启自动提交模式:autocommit=ON 或者 autocommit=1
SET autocommit = ON;
SET autocommit = 1;
#关闭自动提交模式:autocommit=OFF 或者 autocommit=0
SET autocommit = OFF;
SET autocommit = 0;

以上修改autocommit 状态的操作在本次ssh连接会话中有效,新开启的会话中将失效
实操:
(1)在ssh连接会话01中设置autocommit状态为OFF
(2)查看ssh连接会话1的autocommit状态为设置后的OFF关闭自动提交模式
在这里插入图片描述
(3)查看ssh连接会话2的autocommit状态为默认的ON开启自动提交状态
在这里插入图片描述

2、长久修改autocommit状态

(1)修改my.cnf配置文件:添加autocommit=0或者autocommit=OFF
在这里插入图片描述
或者
在这里插入图片描述
(2)重启mysql服务

service mysqld restart

(3)查看autocommit状态,即可永久关闭自动提交

SHOW VARIABLES LIKE ‘autocommit’;

在这里插入图片描述

三、commit提交

1、开启自动提交事务:autocommit=ON

在这里插入图片描述

2、关闭自动提交事务:autocommit=OFF

在这里插入图片描述
注意:
information_schema.INNODB_TRX 表可以用来查看当前正在运行的事务的信息:

SELECT trx_id,trx_state,trx_started,trx_mysql_thread_id,trx_query FROM
information_schema.INNODB_TRX;

  • trx_id: 事务的 ID。
  • trx_state: 事务的状态,如 RUNNING、LOCK WAIT、ROLLING BACK、COMMITTING 等。
  • trx_started: 事务开始的时间。
  • trx_mysql_thread_id: 与该事务关联的 MySQL 线程 ID。
  • trx_query: 触发事务的 SQL 语句(如果可用且没有超过最大长度限制)

四、rollback回滚

1、开启自动提交事务:autocommit=ON

自动提交事务开启,mysql数据库操作后使用rollback回滚无法恢复操作前的数据。
在这里插入图片描述

2、关闭自动提交事务:autocommit=OFF

自动提交事务被关闭,mysql数据库操作后使用rollback回滚可以进行恢复。
在这里插入图片描述

这篇关于autocommit自动提交事务及commit、rollback用法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1091976

相关文章

Linux find 命令完全指南及核心用法

《Linuxfind命令完全指南及核心用法》find是Linux系统最强大的文件搜索工具,支持嵌套遍历、条件筛选、执行动作,下面给大家介绍Linuxfind命令完全指南,感兴趣的朋友一起看看吧... 目录一、基础搜索模式1. 按文件名搜索(精确/模糊匹配)2. 排除指定目录/文件二、根据文件类型筛选三、时间

Java导入、导出excel用法步骤保姆级教程(附封装好的工具类)

《Java导入、导出excel用法步骤保姆级教程(附封装好的工具类)》:本文主要介绍Java导入、导出excel的相关资料,讲解了使用Java和ApachePOI库将数据导出为Excel文件,包括... 目录前言一、引入Apache POI依赖二、用法&步骤2.1 创建Excel的元素2.3 样式和字体2.

Flask 验证码自动生成的实现示例

《Flask验证码自动生成的实现示例》本文主要介绍了Flask验证码自动生成的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习... 目录生成图片以及结果处理验证码蓝图html页面展示想必验证码大家都有所了解,但是可以自己定义图片验证码

kotlin中的行为组件及高级用法

《kotlin中的行为组件及高级用法》Jetpack中的四大行为组件:WorkManager、DataBinding、Coroutines和Lifecycle,分别解决了后台任务调度、数据驱动UI、异... 目录WorkManager工作原理最佳实践Data Binding工作原理进阶技巧Coroutine

MyBatis-Plus中Service接口的lambdaUpdate用法及实例分析

《MyBatis-Plus中Service接口的lambdaUpdate用法及实例分析》本文将详细讲解MyBatis-Plus中的lambdaUpdate用法,并提供丰富的案例来帮助读者更好地理解和应... 目录深入探索MyBATis-Plus中Service接口的lambdaUpdate用法及示例案例背景

MyBatis-Plus中静态工具Db的多种用法及实例分析

《MyBatis-Plus中静态工具Db的多种用法及实例分析》本文将详细讲解MyBatis-Plus中静态工具Db的各种用法,并结合具体案例进行演示和说明,具有很好的参考价值,希望对大家有所帮助,如有... 目录MyBATis-Plus中静态工具Db的多种用法及实例案例背景使用静态工具Db进行数据库操作插入

Windows命令之tasklist命令用法详解(Windows查看进程)

《Windows命令之tasklist命令用法详解(Windows查看进程)》tasklist命令显示本地计算机或远程计算机上当前正在运行的进程列表,命令结合筛选器一起使用,可以按照我们的需求进行过滤... 目录命令帮助1、基本使用2、执行原理2.1、tasklist命令无法使用3、筛选器3.1、根据PID

Seata之分布式事务问题及解决方案

《Seata之分布式事务问题及解决方案》:本文主要介绍Seata之分布式事务问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Seata–分布式事务解决方案简介同类产品对比环境搭建1.微服务2.SQL3.seata-server4.微服务配置事务模式1

Python Excel实现自动添加编号

《PythonExcel实现自动添加编号》这篇文章主要为大家详细介绍了如何使用Python在Excel中实现自动添加编号效果,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、背景介绍2、库的安装3、核心代码4、完整代码1、背景介绍简单的说,就是在Excel中有一列h=会有重复

JavaScript中的Map用法完全指南

《JavaScript中的Map用法完全指南》:本文主要介绍JavaScript中Map用法的相关资料,通过实例讲解了Map的创建、常用方法和迭代方式,还探讨了Map与对象的区别,并通过一个例子展... 目录引言1. 创建 Map2. Map 和对象的对比3. Map 的常用方法3.1 set(key, v