sqlite中是不支持删除列操作的,所以网上 alter table [table_name] drop column [col_name] 这个语句在sqlite中是无效的,而替代的方法可以如下:
1.根据原表创建一张新表
2.删除原表
3.将新表重名为旧表的名称
相关sql语句:
创建:
create table [new_table]
(
id integer primary key,
name text
)
create table [new_table] as select id, name from [old_table]
删除:
drop table if exists [old_table]
重命名:
alter table [new_table] rename to [old_table]
具体参考:http://blog.csdn.net/aben_2005/article/details/6563538
不足之处:
DROP TABLE 语句在缺省模式下不会减少数据库文件的大小, 数据库中空闲的空间将会被后续的 INSERT 操作使用。要移除数据库的自由空间, VACUUM 命令。 如果一个数据库开启了 AUTOVACUUM 模式,那么 DROP TABLE 将自动释放空间。
版权声明:本文为gyymen原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。