Skip to main content

数据库 - 事务

数据库事务提供对 dao() 和 runSQL() 方法的事务管理

luwak.begin();

luwak.commit();

luwak.rollback();

开启事务

luwak.begin();

调用 luwak.begin() 开启事务,多次调用不会产生嵌套事务,不支持嵌套事务。

开启事务后,执行的 SQL 操作都在当前事务中。

错误处理

如果任意一个 SQL 操作失败,自动回滚事务,保持数据一致性。

如果需要手动回滚事务

luwak.rollback();

在请求结束时,如果发生错误会自动回滚事务。

提交事务

所有 SQL 操作成功后,在请求结束时自动提交事务。

如果需要手动提交事务

luwak.commit();

手动提交事务后,即使后面的脚本发生错误,不影响已提交的事务。

备注

仅支持单实例 (包括RDS),不支持多实例分页式事务。

不支持嵌套事务,多次开启事务不会产生嵌套事务。

支持跨脚本事务,如果前面的脚本开启事务,后面的脚本 SQL 操作都在同一个事务中执行,确保了原子性。