是否可以获取res/raw资源目录中存储的CSV文件并使用它填充sqlite3数据库中的表?
我的 idea 是,如果有一种方法可以将整个文件批量导入到表中,那么这将比遍历文件中的每一行并执行单个insert语句更干净、更快...
我发现有一个sqlite import命令允许这样:How to import load a .sql or .csv file into SQLite?
.但在我的Android应用程序中应用这些语句时遇到了问题.我的第一个 idea 是try 下面这样的方法,但没有成功:
db.execSQL("CREATE TABLE " + TABLE_NAME + "(id INTEGER PRIMARY KEY, name TEXT)");
db.execSQL(".mode csv");
db.execSQL(".import res/raw/MyFile.csv " + TABLE_NAME);
这个是可能的吗?
我应该try 另一种方法来填充我的数据库吗?
更新:我将Josef的响应标记为答案(使用事务进行批量插入),因为它工作得很好,并且可以根据我的标题直接回答我的问题(谢谢Josef).然而,我仍然在寻找一种方法,可以使用IMPORT语句在Android应用程序中使用IMPORT语句从CSV文件批量插入到sqlite3表中.如果您知道如何做到这一点,请回复.
谢谢你的回答!