mysql实现事务的提交和回滚实例
深入MySQL事务:提交与回滚的精细操作
在MySQL中,事务是一系列的操作组合,要么完全执行,要么完全不执行。当在一个事务中执行多个SQL语句时,可能会遇到需要回滚(撤销)事务的情况。将详细介绍如何在MySQL中实现事务的提交和回滚。
让我们看看MySQL创建存储过程的官方语法中关于事务的部分:
START TRANSACTION | BEGIN [WORK]
COMMIT [WORK] [AND [NO] CHAIN] [[NO] RELEASE]
ROLLBACK [WORK] [AND [NO] CHAIN] [[NO] RELEASE]
SET AUTOCOMMIT = {0 | 1}
在MySQL中,不能直接使用事务的“rollback”来撤销之前已经执行的操作。为了实现正确的回滚,我们需要使用条件判断和循环。由于MySQL默认是自动提交的,所以在回滚后,不需要担心因为没有commit而导致的事务无法结束。
具体的MySQL语句如下:
begin
loop_label: loop
start transaction;
insert into table1(f_user_id) values(user_id);
if row_count() < 1 then
set @ret = -1;
rollback;
leave loop_label;
end if;
insert into table2(f_user_id) values(user_id);
if row_count() < 1 then
set @ret = -1;
rollback;
leave loop_label;
end if;
insert into table3(f_user_id) values(user_id);
if row_count() < 1 then
set @ret = -1;
rollback;
leave loop_label;
else
set @ret = 0;
commit;
leave loop_label;
end if;
end loop;
select @ret;end
seo推广
- 2014年Godaddy帐号注册教程、Push接收、解析、DNS修
- Win10开启旧版托盘时钟让其符合以往的习惯
- 湖南3家微信公众账号传播恶性谣言被关停
- 想使用PE里没有的程序如何把程序打包进WinPE中
- win10预览版10041官方下载地址 win10预览版10041下载
- 本本加内存后为何还变慢了?
- Ecshop后台拿shell方法总结
- AI简单绘制超美的渐变试管图片教程
- Dreamweaver CS6怎么使用项目列表-
- 夜班配置 夜班最低配置及要求
- 客户端安装过程中提示RegCreateKeyEx失败.错误码5
- WinCfg32.exe - WinCfg32是什么进程
- VC7SecS.exe是什么进程.有什么用
- css3 条纹化和透明化表格Firefox下测试成功
- MirOS BSD Korn Shell本地权限提升漏洞
- 上网本在播放视频时,音频出现停顿现象是什么原