数据库 - 事务
数据库事务提供对 dao() 和 runSQL() 方法的事务管理
luwak.begin();
luwak.commit();
luwak.rollback();
开启事务
luwak.begin();
调用 luwak.begin()
开启事务,多次调用不会产生嵌套事务,不支持嵌套事务。
开启事务后,执行的 SQL 操作都在当前事务中。
错误处理
如果任意一个 SQL 操作失败,自动回滚事务,保持数据一致性。
如果需要手动回滚事务
luwak.rollback();
在请求结束时,如果发生错误会自动回滚事务。
提交事务
所有 SQL 操作成功后,在请求结束时自动提交事务。
如果需要手动提交事务
luwak.commit();
手动提交事务后,即使后面的脚本发生错误,不影响已提交的事务。
备注
仅支持单实例 (包括RDS),不支持多实例分页式事务。
不支持嵌套事务,多次开启事务不会产生嵌套事务。
支持跨脚本事务,如果前面的脚本开启事务,后面的脚本 SQL 操作都在同一个事务中执行,确保了原子性。