如何通过小型内存数据库更新大型永久数据库?我有一个应用程序,它有一个很大的永久数据库(在硬盘上)和小的内存数据库(在 RAM 中)。在我的应用程序运行时内存数据库被填满,并在运行结束时更新永久数据库。
有谁知道我怎么能做到这一点?
小智 5
您可以使用 ATTACH DATABASE 实现此目的:
http://www.sqlite.org/lang_attach.html
2011 年 5 月 12 日编辑:
在这里,我创建了一个磁盘数据库:
[someone@localhost ~]$ sqlite3 some_big_db
SQLite version 3.7.5
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> create table t1 (a int, b text);
Run Code Online (Sandbox Code Playgroud)
在这里,我打开一个内存数据库,创建一个表,填充它,附加磁盘数据库,并将内存数据库表的内容复制到磁盘数据库表中:
[someone@localhost ~]$ sqlite3
SQLite version 3.7.5
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> create table t2 (a int, b text);
sqlite> insert into t2 values (1, 'aa');
sqlite> insert into t2 values (2, 'bb');
sqlite> attach database some_big_db as big_db;
sqlite> insert into t1 select * from t2;
Run Code Online (Sandbox Code Playgroud)
在这里,我打开磁盘数据库并选择其表的内容:
[someone@localhost ~]$ sqlite3 some_big_db
SQLite version 3.7.5
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> select * from t1;
1|aa
2|bb
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
362 次 |
| 最近记录: |