因爲項目需求變動,我須要在sqlite數據庫的表中刪除一個字段,通用的sql操做語句以下:sql
alter table record drop column name;
結果數據庫提示以下錯誤:數據庫
搜索得知,原來SQLite目前還不支持drop column,因此必須想出另一種方法來進行表字段的刪除,讀者要是說:「直接刪掉這個表,而後在新建不見行了!」。spa
好吧,既然你這麼不怕麻煩那就不須要往下看了。code
我採用的方法是經過直接複製並過濾表結構來實現:sqlite
複製表結構的sql語句以下:it
create table temp as select * from record where 1=2;
後面的where 1=2是爲了只複製表的結構,而不會複製表的內容,即否則where條件執行便可,咱們也能夠寫做where 0=1。table
好了,繼續正題,如上sql語句會複製一個和record表同樣表結構的temp表出來,可是咱們想要的是去除某一個字段(例如去除record表中的name字段),因此咱們須要修改sql語句以下:class
create table temp as select recordId, customer, place, time from record where 1 = 2;
這樣複製出來的表就會缺乏「name」字段,而後咱們刪除舊錶並修改新表名便可。select
drop table record; alter table temp rename to record;
好了,具體操做就是這些,你們若有建議,歡迎回復哦~sql語句