Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我可以在提交SQLite事务后回滚它吗?_Sql_Database_Sqlite_Rollback - Fatal编程技术网

我可以在提交SQLite事务后回滚它吗?

我可以在提交SQLite事务后回滚它吗?,sql,database,sqlite,rollback,Sql,Database,Sqlite,Rollback,SQLite中是否有一种方法可以在提交最新事务后从本质上撤消该事务 我想将数据库恢复到事务或保存点之前的状态。我已经看过rollback命令,但它似乎仅限于回滚挂起的事务 编辑 我是否可以创建一个名为“Undo”的保存点,并在开始下一个操作之前等待释放它,或者在需要撤消时回滚它?除了在事务之前进行在线备份之外,我不知道它是否支持“时间机器”在时间上倒转 您能否将一些应用程序逻辑放在适当的位置,以便记录足够的数据,以便在审计跟踪表中撤消应用的操作?我不确定您是否正在使用JDBC 3.0。如果是,则

SQLite中是否有一种方法可以在提交最新事务后从本质上撤消该事务

我想将数据库恢复到事务或保存点之前的状态。我已经看过rollback命令,但它似乎仅限于回滚挂起的事务

编辑
我是否可以创建一个名为“Undo”的保存点,并在开始下一个操作之前等待释放它,或者在需要撤消时回滚它?

除了在事务之前进行在线备份之外,我不知道它是否支持“时间机器”在时间上倒转


您能否将一些应用程序逻辑放在适当的位置,以便记录足够的数据,以便在审计跟踪表中撤消应用的操作?

我不确定您是否正在使用JDBC 3.0。如果是,则它支持保存点

我不是SQLite专家,但就我所做的努力而言,只可能在事务中创建保存点,而不是相反


另外,阅读在线文档,保存点和事务本质上是相同的,不同之处在于写入保存点的事务堆栈。您可以打开一定数量的保存点(记住堆栈顺序),并在检查是否确定后,进行事务提交。我不知道这是否对您有帮助。

事实证明我没有,但如果我有,保存点可能对我有用。“只可能在事务内部创建保存点”-我认为这是不正确的。刚刚试用了SQLite 3.8.7.4的shell命令。它成功地取消了事务外部的表创建和行删除。