在SQLite中,是否有一种方法可以在提交后撤销最新的事务?
我想要将数据库恢复到事务或保存点之前的状态。我已经查看了回滚命令,但它似乎仅限于回滚挂起的事务。
编辑 我能否创建一个名为“Undo”的保存点,并在开始下一个操作之前等待释放它,或者如果需要撤消它,则回滚?
我不确定您是否正在使用JDBC 3.0。如果是,则支持保存点。http://www.ibm.com/developerworks/java/library/j-jdbcnew/
除了在交易之前进行在线备份外,我不知道它是否支持“时间机器”来倒退时间。
你不能设置一些应用逻辑来记录足够的信息以便在审计跟踪表中撤销已应用的操作吗?
我不是SQLite专家,但据我所知,只有在事务内部才能制作保存点,而不能反过来。
据我所知,在阅读在线文档时,保存点和事务本质上是相同的,区别在于保存点写入的事务堆栈。您可以打开一定数量的保存点(记住堆栈顺序),并在检查后进行事务提交。我不知道这是否会对您有所帮助。