首页 > 解决方案 > 如何将 .sql 文件导入 android room 数据库?

问题描述

有谁知道如何通过房间将下载的sql文件导入android数据库?我在 android 手机中有一个从 mysql 数据库导出的 .sql 文件。我想将 .sql 文件导入到 android sql 数据库。我尝试使用 android JetPack 的房间。我查看了官方网站:https ://developer.android.google.cn/training/data-storage/room/creating-views 但是没有找到方法。

我的 .sql 文件中的内容如下:

DELETE FROM NewsInfo WHERE id = '20210524210624';
INSERT INTO NewsInfo VALUES ('20210524210624','2','aaa','bbb',3,'','','','en','push','2021-05-24 21:06:24');

那么有人知道如何将下载的 sql 文件导入到 Android 上的房间吗?

提前致谢

标签: androidsqlandroid-room

解决方案


我知道的最好方法是从具有 execSQL() 函数的 Room 中检索实际的 db 对象。并在每行的 .sql 文件中流式传输db.execSQL(line); (编辑) 如果我知道这些信息不容易获得,我会发布示例,但我自己实际上找不到。

RoomDatabase database = ...
SupportSQLiteDatabase db = database.getOpenHelper().getWritableDatabase();

db.beginTransaction();
db.execSQL(line);
db.endTransaction();

推荐阅读