因爲項目需求變動,我須要在sqlite的表中刪除一個字段,通用的sql操做語句以下:sql
alter table task drop column custom_fields;
結果數據庫提示以下錯誤:數據庫
sqlite> ALTER TABLE task DROP COLUMN custom_fields; Error: near "DROP": syntax error
搜索得知,原來SQLite目前還不支持drop column,因此必須想出另一種方法來進行表字段的刪除。spa
以下sql語句會複製一個和record表同樣表結構的temp表出來,可是咱們想要的是去除某一個字段(例如去除record表中的name字段,就不要複製它就行了),因此sql語句以下:code
create table temp as select id, name, type, trigger, state, next_run_time, description, failed_times, scheduler from task where 1 = 1;
這樣複製出來的表就會缺乏「custom_fields」字段,而後咱們刪除舊錶並修改新表名便可。sqlite
drop table task; alter table temp rename to task;