MYSQL 事务

本文介绍了显式事务的使用方法及其语法,并探讨了如何通过设置自动提交来控制事务的行为。此外,还讨论了哪些类型的SQL语句不能被回滚及其对事务设计的影响。

显式事务:

            start transaction ; # 这里要有 ;号

            ------inner code

            commit;  | rollbak; #这里也要有 ;号

-----------------------------------------------------------------------------------------------------------------

控制事务自动化方式:

set autocommit = off | on  # 也可以是 (0)零 和(1) 壹;

例子:

      连接A上运行:set autocommit = 0; 使得事务要手动提交。

      

     打开第二个连接,查看set autocommit =0;的作用效果是整个数据库还是单个连接

     

     可以看到

               set autocommit 只对当前连接有用!

------------------------------------------------------------------------

 

有些语句不能被回滚。通常,这些语句包括数据定义语言(DDL)语句,比如创建或取消数据库的语句,和创建、取消或更改表或存储的子程序的语句。

在设计事务时,不应包含这类语句。如果您在事务的前部中发布了一个不能被回滚的语句,则后部的其它语句会发生错误,在这些情况下,

通过发布ROLLBACK语句不能 回滚事务的全部效果。

-----------

 

转载于:https://www.cnblogs.com/JiangLe/p/4033564.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值