【问题标题】:Rollback SQLite transaction operations in case of failure在失败的情况下回滚 SQLite 事务操作
【发布时间】:2016-01-06 12:55:08
【问题描述】:

如果在结束之前发生错误情况,我如何重写我的事务以撤消从一开始的更改?

我看到了这个问题has already been asked,然后我点击了该答案中提供的链接。我不清楚下一步是什么。我希望有人可以通过应用于此交易的示例来说明解决方案:

BEGIN TRANSACTION;
INSERT INTO Employee(ID, Name) VALUES(1, 'John');
...
<some failure happens here>
...
END TRANSACTION;

在这种情况下,我希望撤消对 Employee 表的插入操作,因为在 END TRANSACTION 之前发生了故障。我如何编写执行此操作的规则?这适用于 sqlite 版本 3.9.2。

【问题讨论】:

    标签: sqlite transactions


    【解决方案1】:

    执行ROLLBACK TRANSACTION query,或对失败的查询使用ON CONFLICT ROLLBACK conflict resolution,让SQLite 为您回滚事务。

    【讨论】:

      猜你喜欢
      • 2016-01-07
      • 1970-01-01
      • 2012-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多