mysql创建存储过程的官方语法为:

START TRANSACTION | BEGIN [WORK]

COMMIT [WORK] [AND [NO] CHAIN] [[NO] RELEASE]

ROLLBACK [WORK] [AND [NO] CHAIN] [[NO] RELEASE]

SET AUTOCOMMIT = {0 | 1}

我这里要说明的mysql事务处理多个SQL语句的回滚情况。比如说在一个存储过程中启动一个事务,这个事务同时往三个表中插入数据,每插完一张表需要判断其是否操作成功,如果不成功则需要回滚,最后一张表判断其插入成功之后commit。这里需要注意的是不能直接使用事务的collback,这样是不能实现回滚的或者说可能出现意外的错误。

那么我们需要的是一个条件判断,比如loop,因为MySql默认是会自动提交的,所以我们不用担心rollback之后条件退出而没有commit。

具体mysql语句如下:

begin

loop_lable: 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

workbench 手动提交事务_mysql实现事务的提交和回滚实例相关推荐

  1. mysql 事务实例_mysql实现事务的提交和回滚实例

    mysql创建存储过程的官方语法为: 复制代码 代码如下:START TRANSACTION | BEGIN [WORK] COMMIT [WORK] [AND [NO] CHAIN] [[NO] R ...

  2. java jdbc 回滚_java_详解Java的JDBC API中事务的提交和回滚,如果JDBC连接是在自动提交模式 - phpStudy...

    详解Java的JDBC API中事务的提交和回滚 如果JDBC连接是在自动提交模式下,它在默认情况下,那么每个SQL语句都是在其完成时提交到数据库. 这可能是对简单的应用程序,但有三个原因,你可能想关 ...

  3. oracle表结构修改回滚,87.Oracle数据库SQL开发之 修改表内存——数据库事务的提交和回滚...

    87.Oracle数据库SQL开发之 修改表内存--数据库事务的提交和回滚 数据库事务(transaction)就是一组SQL语句,这组SQL语句时一个逻辑工作单元. 要永久性的记录事务中SQL语句的 ...

  4. java pg数据库事务回滚,基于Postgresql 事务的提交与回滚解析

    用过oracle或mysql的人都知道在sqlplus或mysql中,做一个dml语句,如果发现做错了,还可以rollback;掉,但在PostgreSQL的psql中,如果执行一个dml,没有先运行 ...

  5. 二十八、事务的提交与回滚演示

    1.创建表 2.查询表中数据 3.开启事务START TRANSACTION; 4.插入数据 5.查看数据 6.修改数据 7.查看数据 8.回滚事务 9.查看数据 自动提交模式 自动提交模式用于决定新 ...

  6. mysql 提交修改_MySQL客户端、服务器端工具、sql_mode、存储引擎修改、事务的提交和回滚、隔离级别...

    # ls /usr/local/mysql/bin mysql    mysqladmin    mysqldump    客户端程序 mysqld   mysqld_safe             ...

  7. MySQL中事务的提交和回滚机制

    应用场景: 银行取钱,从ATM机取钱,分为以下几个步骤 1 登陆ATM机,输入密码: 2 连接数据库,验证密码: 3 验证成功,获得用户信息,比如存款余额等: 4 用户输入需要取款的金额,按下确认键: ...

  8. 事务、提交、回滚、脏读、幻读等名词解释以及事务隔离级别详解

    看视频的时候,听大佬说commit.事务.脏数据等等名词,听的弟弟是一脸懵呀,今天特地搜集.整理出来了这些名词的解释了,下面我们一起看一下. 文章目录 事务:transaction 概念 四个属性(A ...

  9. mysql事务的提交和回滚

    START TRANSACTION | BEGIN [WORK] COMMIT [WORK] [AND [NO] CHAIN] [[NO] RELEASE] ROLLBACK [WORK] [AND ...

最新文章

  1. Scrapy爬取IT之家
  2. Oracle字符集问题总结
  3. 线程的应用-继承Thread类创建线程
  4. lt、le、eq、ne、ge、gt的含义
  5. python drop_duplicates_Pandas drop_duplicates方法不起作用
  6. pat乙级相当于什么水平_雅思6.5是什么水平?相当于托福多少分?
  7. 本周Web2.0小工具推荐[2008-08-24]
  8. 高级软件工程2017第2次作业—— 个人项目:四则运算题目生成程序(基于控制台)...
  9. 相机成像原理_照相机、摄影机的成像原理
  10. 喵哈哈村与哗啦啦村的大战(四)(树形DP)
  11. Dubbo源码解析之SPI(一):扩展类的加载过程
  12. python挑选以元音字母开头的单词_帮我总结一下,元音字母开头但是读音是辅音的英语单词例如uniform看上去应该是anuniform但事实是auniform的...
  13. 计算机网络(自顶向下方法)读书笔记----吐血整理
  14. 个人作业 项目alpha版本测试
  15. 如何使用QQ号来注册腾讯云新用户账号并完成实名认证?
  16. IOS编译报错:objc-class-ref........
  17. 【使用MATLAB 5点确定出一个椭圆并画图确定中心点坐标】
  18. Everything-Everything下载
  19. LAYDATE日历插件使用
  20. 中国主动电磁轴承行业市场供需与战略研究报告

热门文章

  1. 函数c语言桶排算法,C语言基本排序算法之桶式排序实例
  2. Java 蓝桥杯 时间转换
  3. java生成折线图,饼状图,柱形图
  4. fate框架找不到 flow 命令
  5. html video各种控制命令,HTML5 Video(视频)
  6. 无人驾驶服务器适合部署在哪个位置,手机位置服务器在哪里设置的
  7. linux设备驱动模型及其他,Linux设备驱动模型
  8. 公司java框架让程序员变笨_框架会使程序员变笨吗?
  9. 计算机教师招聘板书设计,教师编制考试:信息技术丨《WORD表格制作》教案设计...
  10. mysql for update缺点_有关mysql的for update以及 死锁问题