一组SQL语句,要么全部执行,要么全部不执行,用来保证数据库的完整性
理解:在使用事务时,逐行执行的SQL语句仅在当前用户的会话中执行,即当前用户可以查看到表的变化,而其他用户看不到变化(没有实际写入硬盘),只有显式的使用COMMIT提交或事务结束后才写入硬盘。
在MySQL中,使用InnoDB引擎的表支持事务,而常用的使用MyISAM引擎的表不支持事务
可以被回退的语句:INSERT、UPDATE、DELETE。不能回退CREATE或DROP操作,事务处理代码块中可以使用这两条语句,但执行回退时实际不会被撤销。
开启事务
全局事务控制
在SQL语句前执行以下语句,将自动提交方式设置为否,仅手动进行COMMIT或设置SET autocommit = 1时提交语句
提交事务
回滚事务
使用保留点
保留点越多越好,以便于精准控制退回,在事务处理完成后会自动释放保留点,也可使用RELEASE SAVEPOINT主动释放
联系客服