因为项目需求变动,我须要在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语句