加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

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

发布时间:2020-12-12 02:36:08 所属栏目:MySql教程 来源:网络整理
导读:《Mysql入门mysql实现事务的提交和回滚实例》要点: 本文介绍了Mysql入门mysql实现事务的提交和回滚实例,希望对您有用。如果有疑问,可以联系我们。 MYSQL应用 mysql创立存储过程的官方语法为: 代码如下: START TRANSACTION | BEGIN [WORK] COMMIT [WORK]

《Mysql入门mysql实现事务的提交和回滚实例》要点:
本文介绍了Mysql入门mysql实现事务的提交和回滚实例,希望对您有用。如果有疑问,可以联系我们。

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

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

MYSQL利用具体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;?
??? co妹妹it;?
??? leave loop_label;
? end if;
? end loop;
? select @ret;
end?

编程之家PHP培训学院每天发布《Mysql入门mysql实现事务的提交和回滚实例》等实战技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培养人才。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读