当前位置: 首页 > news >正文

MySQL 事务的操作指南(事务篇 二)

基本操作

事务的提交方式:自动提交(@@autocommit=1)和手动提交(@@autocommit=0)

查询和修改事务提交方式:

-- 查看事务提交方式(@@标识表示这是个系统变量)
select  @@autocommit ;-- 修改事务提交方式为自动提交
set @@autocommit = 0 ;

事务基本操作

-- 开始事务
start transaction  
-- 或 
begin transaction ;-- 提交事务
commit;-- 回滚事务
rollback;

转账示例使用

初始状态:

事务操作(要把事务操作变为手动提交)

-- 开启事务
start transaction-- 1. 查询余额
select * 
from account 
where name = '张小明';-- 2. 张小明的余额减少1000
update account 
set money = money - 1000 where name = '张小明';-- 在中间随便添加个异常,模拟操作错误
wwwwwwwww-- 3. 李小红的余额增加1000
update account 
set money = money + 1000 where name = '李小红';-- 如果正常执行完毕, 则提交事务
commit;-- 如果执行过程中报错, 则回滚事务
rollback;

执行结果:还是初始状态,因为事务处理过程报错会回滚

不开启事务执行:

-- 1. 查询余额
select * 
from account 
where name = '张小明';-- 2. 张小明的余额减少1000
update account 
set money = money - 1000 where name = '张小明';-- 在中间随便添加个异常,模拟操作错误
wwwwwwwww-- 3. 李小红的余额增加1000
update account 
set money = money + 1000 where name = '李小红';

执行结果:发现数据逻辑出错(出现只减不增的情况)

上一篇:MySQL 事务介绍 (事务篇 一)

下一篇:MySQL 并发事务问题和隔离级别 (事务篇 三)

http://www.lryc.cn/news/177620.html

相关文章:

  • Oracle 查询 SQL 语句
  • gin 基本使用
  • 8月最新修正版风车IM即时聊天通讯源码+搭建教程
  • NSDT孪生场景编辑器系统介绍
  • 3D WEB轻量化引擎HOOPS助力3D测量应用蓬勃发展:效率、精度显著提升
  • 【Orange Pi】Orange Pi5 Plus 安装记录
  • NLP 项目:维基百科文章爬虫和分类 - 语料库阅读器
  • 查看吾托帮88.47的docker里的tomcat日志
  • 衷心 祝愿
  • 表单中某一项点击添加和删除
  • 深信服安全GPT 2.0升级,开启安全运营“智能驾驶”旅程
  • 【C++】STL之list深度剖析及模拟实现
  • 解释器风格架构C# 代码
  • 第七天:gec6818开发板QT和Ubuntu中QT安装连接sqlite3数据库驱动环境保姆教程
  • 自制网页。
  • MySQL单表查询和多表查询
  • 蓝桥等考Python组别四级006
  • 第3章-指标体系与数据可视化-3.2-描述性统计分析与绘图
  • 更直观地学习 Git 命令
  • 在 Vue 项目中添加字典翻译工具(二)
  • RDMA Shared Receive Queue(四)
  • this关键字
  • 缓存雪崩、缓存击穿、缓存穿透
  • Bigemap如何查看历史影像
  • 如何离线安装和使用pymysql操作mysql数据库
  • Prometheus-监控Mysql进阶用法(1)(安装配置)
  • 网络安全(黑客技术)自学内容
  • linux centos7 安装mongodb7.0.1 及 mongosh2.0.1
  • c++ | makefile | 编译 | 链接库
  • n个骰子掷出m点的概率,C++实现