关于 mysql autocommit
mysql> show variables like '%commit%';
+--------------------------------+-------+
| Variable_name | Value |
+--------------------------------+-------+
| autocommit | OFF |
| innodb_commit_concurrency | 0 |
| innodb_flush_log_at_trx_commit | 0 |
+--------------------------------+-------+
3 rows in set (0.00 sec)
开始的时候我认为只要global autocommit=0以后在不同会话进行删除或更新时候 都需要commit提交
或者ROLLBACK
但是发现不是这回事。
请问这个到底起什么作用不同的会话中还需要指定 START TRANSACTION才可以求解如何做到 每次 delete update 都要提交 或回滚呢?
mysql> show variables like '%commit%';
+--------------------------------+-------+
| Variable_name | Value |
+--------------------------------+-------+
| autocommit | OFF |
| innodb_commit_concurrency | 0 |
| innodb_flush_log_at_trx_commit | 0 |
+--------------------------------+-------+
3 rows in set (0.00 sec)
开始的时候我认为只要global autocommit=0以后在不同会话进行删除或更新时候 都需要commit提交
或者ROLLBACK
但是发现不是这回事。
请问这个到底起什么作用不同的会话中还需要指定 START TRANSACTION才可以求解如何做到 每次 delete update 都要提交 或回滚呢?
肯定是这回事 记住 set global autocommit=0以后 要新开窗口看select @@autocommit;
现在
global autocommit=0
但是为什么每次 我删除或更新数据 结束之后并不commit
查看数据已经更改
然后我ROLLBACK 没有起到作用。。
依旧是更改后的数据