MYSQL 事务

显式事务:

            start transaction ; # 这里要有 ;号

            ------inner code

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

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

控制事务自动化方式:

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

例子:

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

      

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

     

     可以看到

               set autocommit 只对当前连接有用!

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

 

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

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

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

-----------

 

posted on 2014-10-18 20:02  蒋乐兴的技术随笔  阅读(214)  评论(0编辑  收藏  举报

导航