“SQLiteException错误:没有这样的表”如果我在同一个数据库中更改表的名称并再次运行应用程序

时间:2014-09-26 17:01:30

标签: android database fts3 fts4

我创建了一个fts数据库DATABASE_NAME和一个表FTS_VIRTUAL_TABLE。

我可以插入并选择值。

如果我在代码中更改表格的名称,例如FTS_VIRTUAL_TABLE_NEW保持相同的数据库DATABASE_NAME并运行应用程序我收到SQLiteException错误:没有这样的表:FTS_VIRTUAL_TABLE_NEW。我想知道,为什么,因为在onCreate方法中存在正确的SQL语句。不应该创建FTS_VIRTUAL_TABLE_NEW吗?

但是,如果我不仅更改表的名称而且还更改数据库的名称(即新数据库),一切都有效。该应用程序正常运行(当然,最初在数据库中没有值)。

我不明白为什么我不能只改变保持相同数据库的表名。

1 个答案:

答案 0 :(得分:0)

如果您更改了数据库模式,则需要增加SQLiteOpenHelper构造函数中使用的数据库版本,并在onUpgrade方法中处理升级(即删除并重新创建或修改表)。 / p>