在MySQL中, SET autocommit=0;指事务非自动提交,自此句命令执行以后,
每个SQL语句或者语句块所在的事务都需要显式调用commit才能提交事务。
不管autocommit 是1还是0 :
START TRANSACTION + commit 数据才会生效,ROLLBACK会回滚。
当autocommit 为 0 时:
有没有START TRANSACTION都没关系。
只有当commit数据才会生效,ROLLBACK会回滚。
当autocommit 为1时 ,如果没有START TRANSACTION, 调用ROLLBACK是没有用的, 即便设置了SAVEPOINT。
也就是说, 必须设置START TRANSACTION才能回滚。