我正在用C ++(Qt)和SQLite开发一个应用程序。应用程序安装了预定义的数据库,其中包含一些记录。用户可以使用自己的记录扩展数据库。我想知道如何实现应用程序的更新,即在安装新版本的应用程序时,我想删除数据库中的旧核心(预定义)记录,并替换为(插入)新的记录。这些问题出现了:
有什么想法吗?感谢
答案 0 :(得分:2)
还有第三种变体:
这大大简化了查询(与第一个版本相比),并且您没有大多数记录不需要的额外列(我认为)。
如果你不想要额外的表格,我会说第二个变种。第一个会强制您进行两次查询并UNION
。这对我来说听起来不对。
答案 1 :(得分:0)
好问题。我会选择第二种选择,因为我们在这里做了类似的事情。
另一种可能性是对数据库中的数据进行分类,这样您就可以知道记录是系统的一部分还是来自用户(例如,通过使用关键字或值范围)。虽然此解决方案不需要额外的表或列,但理解和维护起来要困难得多,因为它为数据库记录提供了隐藏的含义。