当前位置:  开发笔记 > 数据库 > 正文

如何覆盖SQLite文件的内容

如何解决《如何覆盖SQLite文件的内容》经验,为你挑选了1个好方法。

我刚刚开始使用SQLite,我想将所有应用程序数据写入文件,而不知道文件是否已存在; 使用'普通'文件,这很简单,但是对于SQLite,我不能创建一个表,如果它已经存在,并且如果主键已经存在,我就不能插入一行.

我基本上想做一些像"CREATE TABLE IF NOT EXISTS table .... else ... DELETE FROM table"这样的事情.必须有办法做到这一点,我怀疑有一些方法比其他方法更有效.例如,您认为使用现有表而不是删除和重新创建会更好,但这取决于检查它是否存在以及删除其内容所涉及的内容.

或者,有没有办法将数据库写入内存(sqlite3_open(":memory:",db)),然后获取其内容 - 作为字节数组或其他东西 - 写入文件?



1> 小智..:

对于所有数据库系统,首先DROP表然后重新创建它几乎总是更有效.使用DELETE将需要索引更新等,而简单的DROP也会删除索引,并且不会涉及创建事务日志条目对于SQLite,您可以执行DROP IF EXISTS来删除表条件.

推荐阅读
跟我搞对象吧
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有