我在 Android 中创建了内存数据库。我在 SQLiteOpenHelper 构造函数的name参数中输入了null :
SQLiteOpenHelper(context, null, null, 1);
我还在内存数据库中创建了一些doc_orders_products表。
现在我正在尝试将此内存数据库附加到我的主磁盘数据库。我应该在 ATTACH 命令中使用什么内存数据库名称?
我试过了:
mainDB.execSQL("ATTACH DATABASE ':memory:' AS temp_db");
和
mainDB.execSQL("ATTACH DATABASE '' AS temp_db");
即使根本没有创建内存数据库,两个 ATTACH 命令也能很好地执行。但是当我尝试访问内存数据库中的表时,它们不存在。我得到例外。例如:
10-11 14:07:46.782: E/AndroidRuntime(2107): Caused by:
android.database.sqlite.SQLiteException: no such table:
temp_db.doc_orders_products (code 1): , while compiling:
INSERT INTO temp_db.doc_orders_products SELECT * FROM
main.doc_orders_products WHERE doc_id=3
是否可以将内存数据库附加到磁盘数据库?正确的做法是什么?
谢谢。