2016-03-10 20 views
1

我要添加一列的情況下,列不存在的表,但SQLite的似乎並沒有在Android的表列的SQLite

目前我」

更新列列表使用L:

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

但是從「getColumnNames」返回不包含我剛剛創建的列,所以當我再次檢查同一列的字符串列表,它理解列不存在,並試圖創建它再次,這導致「重複列」異常

謝謝這是我的第一個問題:)

+0

你把你的代碼放在onUpgrade上嗎?你有沒有增加數據庫版本? – Francesc

+0

不,不。我是不是該? –

+0

是的,當您增加數據庫版本時,在下次啓動時將調用onUpgrade方法。在那裏運行命令來改變表格。 – Francesc

回答

0

你需要增加數據庫的數量,這將在你的下一次應用程序啓動時調用onUpgrade。在onUpgrade方法中,運行SQLite命令來更改表。

查看here的一些例子。

0

嘗試在「alter table」命令之後放棄第一個查詢的結果並使用第二個查詢的結果。它爲我工作。