一:引擎
MySQL的数据库引擎中,InnoDB支持事务管理。
因此,需要进行事务管理的数据库一定要选择InnoDB引擎。
二:四个概念
事务:事务的四个属性。
回滚:撤销事务中已经执行的语句。
保留点:在事务操作中设置的临时保存点,在发生操作错误时,可以回退到保留点而无需回滚整个事务操作。
提交:事务中定义的SQL语句执行完毕后,其结果并未写入数据库中。需要commit语句将结果写回数据库。
三:事务使用
这里主要讲 MySQL存储过程中的事务管理。
CREATE PROCEDURE 存储过程名() BEGIN START TRANSACTION;//开始事务 一系列SQL语句; SAVEPOINT pointName;//设置保留点 一系列SQL语句; IF 发生错误 THEN ROLLBACK TO pointName;//回滚至某个保留点。 ROLLBACK; //回滚整个事务 END IF; COMMIT;//提交事务 END;