2014年3月31日 星期一

Android Alter Table Column Data Type

CREATE TABLE IF NOT EXISTS **TEMP_TABLE** (id integer primary key autoincrement, **col2change integer not null**, ...)

INSERT INTO TEMP_TABLE SELECT * FROM EXISTING_TABLE

DROP TABLE EXISTING_TABLE

ALTER TABLE TEMP_TABLE RENAME TO EXISTING_TABLE

由於 SQLite 並沒有提供直接修改欄位的功能,因此做以下步驟

  1. 根據需要建立新的暫存 Table scheme
  2. 將資料倒到新的暫存 Table
  3. 刪掉原本的 Table
  4. 將暫存 Table 的名稱修改為原本的 Table 名稱


參考:http://stackoverflow.com/questions/10155834/need-a-good-method-to-change-sqlite-column-data-type