MYSQL默认是自动提交的,也就是你提交一个QUERY,它就直接执行!我们可以通过
set autocommit=0 禁止自动提交
set autocommit=1 开启自动提交
mysql中INNODB引擎才支持事务处理,默认是自动提交的;
另外一种常用的MYISAM引擎是不支持事务的,本身就没有事务的概念
set autocommit=0 禁止自动提交
set autocommit=1 开启自动提交
mysql中INNODB引擎才支持事务处理,默认是自动提交的;
另外一种常用的MYISAM引擎是不支持事务的,本身就没有事务的概念
1.开启事务:START TRANSACTION
start transaction;
--当开启事务之后,接下来的一系列操作都会成为事务操作,直到遇到commit(提交)或rollback(回滚)。
2.一系列操作
--此时对表的一系列修改都会保存为事务操作。
3.提交结果:commit
commit;
--提交完之后,上面的一系列操作会同时执行,保证了在每一条命令执行期间不会发生意外情况。
4.回滚:rollback
rollback;
--当遇到特殊情况时,需要回滚到保存事务操作之前,只需要使用rollback命令,那么刚才的一系列操作失效。
5.设置回滚点:savepoint sp1;
rollback to sp1;--可以在事务操作下面任何地方设置回滚点,通过这条命令来回滚。