我创建了一个fts数据库DATABASE_NAME和一个表FTS_VIRTUAL_TABLE。
我可以插入并选择值。
如果我在代码中更改表格的名称,例如FTS_VIRTUAL_TABLE_NEW保持相同的数据库DATABASE_NAME并运行应用程序我收到SQLiteException错误:没有这样的表:FTS_VIRTUAL_TABLE_NEW。我想知道,为什么,因为在onCreate方法中存在正确的SQL语句。不应该创建FTS_VIRTUAL_TABLE_NEW吗?
但是,如果我不仅更改表的名称而且还更改数据库的名称(即新数据库),一切都有效。该应用程序正常运行(当然,最初在数据库中没有值)。
我不明白为什么我不能只改变保持相同数据库的表名。
答案 0 :(得分:0)
如果您更改了数据库模式,则需要增加SQLiteOpenHelper
构造函数中使用的数据库版本,并在onUpgrade
方法中处理升级(即删除并重新创建或修改表)。 / p>