MySQL 8.0版本说明
MySQL 8.0源代码文档10bet官方网站
保存点标识符回滚[工作]到[保存点]标识符RELEASE SAVEPOINT标识符
InnoDB
支持SQL语句保存点
,回滚到保存点
,RELEASE SAVEPOINT
还有可选的工作
关键字为回滚
.
的保存点
语句设置名称为的命名事务保存点标识符
.如果当前事务具有同名的保存点,则删除旧的保存点并设置新保存点。
的回滚到保存点
语句将事务回滚到指定的保存点,而不终止事务。当前事务在设置保存点后对行所做的修改将在回滚中撤消,但是InnoDB
做不释放保存点之后存储在内存中的行锁。(对于新插入的行,锁信息由该行存储的事务ID携带;锁不会单独存储在内存中。在这种情况下,行锁在撤消操作中被释放。)晚于指定保存点设置的保存点将被删除。
如果回滚到保存点
语句返回以下错误,这意味着不存在指定名称的保存点:
错误1305(42000):保存点标识符不存在
的RELEASE SAVEPOINT
语句从当前事务的保存点集中删除指定的保存点。不发生提交或回滚。如果保存点不存在,则会产生错误。
当前事务的所有保存点将被删除提交
,或者回滚
它没有命名保存点。
当调用存储函数或激活触发器时,将创建新的保存点级别。先前关卡的保存点将不可用,因此不会与新关卡的保存点发生冲突。当函数或触发器终止时,它创建的所有保存点都会被释放,并且恢复到以前的保存点级别。