在SQLite中的Alter Table之后,表列未更新

时间:2016-03-10 16:39:06

标签: android sqlite

如果列不存在,我想在表中添加一列,但SQLite似乎没有更新Android中的列列表

目前我正在使用:

DB.execSQL("alter table "+table_name+" add column "+column_name+" text");
DB.rawQuery("select * from "+table_name+" limit 1",null).getColumnNames();

但字符串列表从" getColumnNames"返回不包含我刚创建的列,所以当我再次检查同一列时,它会理解该列不存在并尝试再次创建它,这会导致一个"重复列"例外

在此先感谢您的帮助,这是我在SO中的第一个问题:)

2 个答案:

答案 0 :(得分:0)

您需要增加数据库编号,这将在您下次启动应用时调用onUpgrade。在onUpgrade方法中,运行SQLite命令来更改表。

有关示例,请参阅here

答案 1 :(得分:0)

尝试在“alter table”命令之后丢弃第一个查询的结果,并使用第二个查询的结果。它对我有用。