所以我发现sqlite3pp C ++ SQLite数据库引擎API有一些可回滚事务的概念。我想知道是否可以从db文件中提取事务,例如在应用程序重启后?如果是这样的话,如何将所有的tham加载到某些载体中? (这将使db项目版本和版本控制的创建变得容易)
答案 0 :(得分:1)
根据SQLite 3文档:
如果在事务处于打开状态时调用sqlite3_close(),则会自动回滚事务。
无论您是直接使用API还是间接使用sqlite3pp,都是如此。因此,您无法在应用程序重新启动时保留数据库事务(因为数据库连接是特定于应用程序的)。
我不知道如果您在不关闭数据库的情况下退出应用程序会发生什么,但我很确定交易会丢失。