MySQL的事务处理演示

ops/2025/2/21 9:02:18/

MySQL的事务的创建:

①隐视事务:事务没有明显的开始和结束的标记.这时候像insert语句,update语句和delete语句,每一条SQL语句就默认是一个事务.

显然,隐视事务在类似转账的逻辑业务需求的时候,就无法处理了!

②显示事务:说白了,这个事务模式,就要我们中程序中手动的用命令来开启事务,和结束事务,并让事务里的多条SQL语句去执行.

注意:默认MySQL是开启自动提交事务的,用show variables like 'autocommit';命令可以查看到. 所以开启显示事务前,要关掉它,用set autocommit=0;只对本身回话有效.

①:开始事务

set autocommit=0;

start transaction; #可选的,执行set autocommit=0已经默认开启了!

②:编写事务中的SQL语句(主要是:select update delete insert等语句)

语句1;语句2;........

③:结束事务

commit;提交事务去真正执行

rollback;回滚事务,恢复数据库执行前的状态!

来演示一下:

DROP TABLE IF EXISTS account;CREATE TABLE account(id INT PRIMARY KEY AUTO_INCREMENT,username VARCHAR(20),balance DOUBLE);INSERT INTO account(username,balance) VALUES('A',1000),('B',1000);SET autocommit = 0;#开启事务START TRANSACTION;#编写sql语句UPDATE account SET balance=balance-500 WHERE username='A';UPDATE account SET balance=balance+500 WHERE username='B';#结束事务#commit;ROLLBACK;


http://www.ppmy.cn/ops/160198.html

相关文章

.NET周刊【2月第2期 2025-02-09】

国内文章 开箱即用的.NET MAUI组件库 V-Control 发布了! https://www.cnblogs.com/jevonsflash/p/18701494 文章介绍了V-Control,一个适用于.NET MAUI的组件库。作者计划将其开源,强调.NET MAUI是生产力强的跨平台移动开发工具。V-Control提供多种组件…

pdf转换成word在线 简单好用 支持批量转换 效率高 100%还原

pdf转换成word在线 简单好用 支持批量转换 效率高 100%还原 在数字化办公的浪潮中,文档格式转换常常让人头疼不已,尤其是 PDF 转 Word 的需求极为常见。PDF 格式虽然方便阅读和传输,但难以编辑,而 Word 格式却能灵活地进行内容修…

【OpenCV】OpenCV算子功能分类

在 OpenCV 中,算子(Operators)可以根据功能分类为不同的类别,主要包括图像处理、特征检测、几何变换等。以下是 OpenCV 算子的主要分类: 1️⃣ 图像处理算子(Image Processing Operators) 用于…

基于springboot校园健康系统的设计与实现(源码+文档)

大家好我是风歌,今天要和大家聊的是一款基于springboot的园健康系统的设计与实现。项目源码以及部署相关请联系风歌,文末附上联系信息 。 项目简介: 基于springboot校园健康系统的设计与实现的主要使用者管理员具有最高的权限,通…

【Linux】文件管理

个人主页~ 文件管理 一、回顾C文件管理二、系统文件IO0、序1、open函数flags标识位的方法 2、文件描述符fd3、重定向(一)dup2(二)标准输出vs标准错误 一、回顾C文件管理 有关于c文件操作的详细内容可阅拙作《C语言文件操作》 特…

Visual Studio Code 集成 Baidu Comate

文章目录 安装Baidu Comate插件 安装Baidu Comate插件 从左主侧栏中 点击 【扩展】这个图标,然后在上方输入栏中输入 baidu comate —>选中列出的Bai Comate —>点击 【安装】按钮,等待安装完毕…

rust学习六、简单的struct结构

一、结构定义 struct-翻译为结构/结构体 总体上有两种定义方式:带有详细属性名的;不带属性名(元组) 从工程角度出发,并不推荐不带属性的定义方式,因为不友好。希望rust后面不要搞类似好像很友好&#xff…

汉化VScode

第一步 打开开发工具, 点扩展按钮 第二步 在输入框内输入Chinese 第三步 点击(Chinese)中文插件 第四步 点击 install(安装) 安装好后, 关掉开发工具, 重新打开, 就汉化成功了 .