MySql之事务管理

时间:2022-09-21 20:12:46

 

一:引擎

    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;