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

 更新时间:2014年06月17日 18:01:13   投稿:shichen2014  
这篇文章主要介绍了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事务处理多个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 

相关文章

  • 总结MySQL的分区

    总结MySQL的分区

    本文先是介绍了分区,而后又分别说明了怎样判断是否支持分区和如何删除增加分区,对分区的总结很详细,下面一起来看看吧。
    2016-08-08
  • MySQL 锁的相关知识总结

    MySQL 锁的相关知识总结

    这篇文章主要介绍了MySQL 锁的相关知识总结,帮助大家更好的理解和使用MySQL数据库,感兴趣的朋友可以了解下
    2021-01-01
  • MySQL字符串转数字的3种方式实例

    MySQL字符串转数字的3种方式实例

    这篇文章主要给大家介绍了关于MySQL字符串转数字的3种方式,在使用mysql中经常遇到要将字符串数字转换成可计算数字,文中给出了详细的代码示例和图文介绍,需要的朋友可以参考下
    2023-08-08
  • mysql默认编码为UTF-8 通过修改my.ini实现方法

    mysql默认编码为UTF-8 通过修改my.ini实现方法

    这篇文章主要介绍了mysql默认编码为UTF-8 通过修改my.ini实现方法的相关资料,为了防止出现乱码,Latin1是不支持汉字的,所以要将其改为UTF-8或GBK,需要的朋友可以参考下
    2017-01-01
  • MySQL5.6免安装版环境配置图文教程

    MySQL5.6免安装版环境配置图文教程

    这篇文章主要为大家详细介绍了MySQL免安装版环境配置图文教程,很实用,感兴趣的小伙伴们可以参考一下
    2016-05-05
  • Mysql数据库实现多字段过滤的方法

    Mysql数据库实现多字段过滤的方法

    这篇文章主要介绍了Mysql数据库实现多字段过滤的方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-07-07
  • 30种SQL语句优化的方法汇总

    30种SQL语句优化的方法汇总

    这篇文章从30个方面,分享了sql优化的一些小技巧,希望对你有所帮助,需要的朋友可以参考下
    2022-10-10
  • Mysql ID生成策略的三种方法选择及优缺点

    Mysql ID生成策略的三种方法选择及优缺点

    mysql ID生成策略一般常用的有三种,包括自增、UUID 以及雪花算法,本文主要介绍了Mysql ID生成策略的三种方法选择及优缺点,具有一定的参考价值,感兴趣的可以了解一下
    2024-06-06
  • MySQL查看所有用户的实现

    MySQL查看所有用户的实现

    本文主要介绍了MySQL查看所有用户的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • MySQLBackup备份数据库的操作过程

    MySQLBackup备份数据库的操作过程

    这篇文章主要介绍了MySQLBackup备份数据库的操作过程,包括安装部署和配置备份管理员的相关知识,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2024-03-03

最新评论