我使用的mysql5.5
自动提交是默认打开的。
现在在终端执行一条事物。
begin;
update user set username='Lee' where id=1;
按说这条事物是自动commit的才对啊,因为默认是自动提交。为什么不是自动的commit,还是在等待人工commit。
mysql的事物发现有个问题,我开启事物,然后insert一条数据,没有commit。
然后select,发现这条数据竟然已经加进去了,这是什么鬼,在没commit之前数据不应该在内存里的么。然后我执行rollback。再试图开启事物insert一条数据,commit。这时候不对了,新产生的id应该是上一条回滚的那条id才对啊,为什么是+1了呢。
开启事务必须手动提交,详情见我写的一篇事务隔离级别文章