sqlite数据库删除列
2019年03月02日

概述

由于业务逻辑变更,数据表里多了一个无用的字段.所以想办法删掉

alter table record drop column name;  

结果数据库提示如下错误:

Fetching results, please wait... >> Uncaught Error: near "drop": syntax error

搜索得知,原来SQLite目前还不支持drop column,所以必须想出另外一种方法来进行表字段的删除。

如下sql语句会复制一个和users表一样表结构的temp表出来,但是我们想要的是去除某一个字段(例如去除users表中的age字段,就不要复制它就好了),所以sql语句如下:

create table temp as select userid, name, gender from users;

这样复制出来的表就会缺少age字段,然后我们删除旧表并修改新表名即可。

-- 删除旧表
drop table users;  
-- 重命名新表
alter table temp rename to users