Amy 原创整理|资料核验:2026-11-07
SQLite 的 SAVEPOINT 可以在一个事务内设置带名字的恢复点。教学示例:执行 BEGIN,写入第一批数据,再执行 SAVEPOINT second_batch 并写第二批。如果发现第二批的列映射错了,执行 ROLLBACK TO second_batch 会恢复到设置这个点之后、写第二批之前的状态。
回到恢复点后事务仍然打开,可以更正并重新写入第二批,再 RELEASE second_batch,最后 COMMIT。Amy建议把最外层提交单独写清:仅释放内部恢复点时,之后回滚外层事务仍会撤销其中的修改。