如果列不存在,我想在表中添加一列,但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中的第一个问题:)
答案 0 :(得分:0)
您需要增加数据库编号,这将在您下次启动应用时调用onUpgrade。在onUpgrade方法中,运行SQLite命令来更改表。
有关示例,请参阅here。
答案 1 :(得分:0)
尝试在“alter table”命令之后丢弃第一个查询的结果,并使用第二个查询的结果。它对我有用。