交易

保存点

保存点语句设置命名事务,允许事务的部分在之前回滚提交

获取集合对象

假设存在test_schema.test_collection收集。

[{“_id”1,“名称”“弗雷德”,“年龄”21})

获取集合对象。

会话mysqlxget_session“根:@localhost: 33060”模式会话get_schema“test_schema”集合模式get_collection“test_collection”

设置并回滚到指定的事务保存点

可以提供保存点名称来创建事务保存点,该事务保存点稍后可用于回滚。

一个mysqlx。OperationalError是否会在保存点名称为无效字符串或正在使用不存在的保存点时引发mysqlx.Session.rollback_to ()

#开始交易会话start_transaction()集合添加({“名称”“威尔玛”,“年龄”33})执行()断言2==集合())#创建保存点会话set_savepoint“sp”集合添加({“名称”“巴尼”,“年龄”42})执行()断言3.==集合())#回滚到一个保存点会话rollback_to“sp”断言2==集合())#提交所有操作会话提交()

设置并回滚到未命名的事务保存点

如果未提供保存点名称,mysqlx.Session.release_savepoint ()将返回生成的保存点名称。

#开始交易会话start_transaction()集合添加({“名称”“威尔玛”,“年龄”33})执行()断言2==集合())#创建保存点保存点会话set_savepoint()集合添加({“名称”“巴尼”,“年龄”42})执行()断言3.==集合())#回滚到一个保存点会话rollback_to保存点断言2==集合())#提交所有操作会话提交()

释放一个事务保存点

一个mysqlx。OperationalError是否会引发,如果正在使用不存在的保存点mysqlx.Session.release_savepoint ()

#开始交易会话start_transaction()集合添加({“名称”“威尔玛”,“年龄”33})执行()断言2==集合())#创建保存点会话set_savepoint“sp”集合添加({“名称”“巴尼”,“年龄”42})执行()断言3.==集合())#释放一个保存点会话release_savepoint“sp”断言3.==集合())#提交所有操作会话提交()