博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

mysql autocommit

Posted on 2019-01-09 16:27  bw_0927  阅读(333)  评论(0)    收藏  举报

https://blog.csdn.net/amqvje/article/details/50492128

 

1、什么是autocmomit(自动提交)?

2、用在哪里?

3、如何修改?

 

1、autocommit是mysql中的InnoDb数据表特有的语句。(只有在表引擎=InnoDb时,autocommit才会生效

原理:在InnoDb表中,所有的语句都是需要commit后,才会在真实数据库中生效。

eg:

InnoDb数据库引擎 :

    update tablenam set id = 999 where id = 1;(缓存生效)

    commit;(真实生效)

其它数据库引擎 :

    update tablenam set id = 999 where id = 1;(真实生效)

2、用在哪里?

    用于InnoDb表。

    在没有开启事务(begin;)的InnoDB表中,autocommit 才生效。

    对已经开启了事务的SQL语句,autocommit 参数不生效。

3、怎么用?

    a)查看:select @@autocmmit;

    b)修改:set autocommit = 0;(默认是1)

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

mysql> select @autocommit, @@autocommit
;
+-------------+--------------+
| @autocommit | @@autocommit |
+-------------+--------------+
| NULL        |            1 |
+-------------+--------------+
1 row in set

一个@:session的

两个@@:全局的  

最好手动commit,别依赖autocommit