Sqlite删除列方法

  • Post author:
  • Post category:其他


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 版权协议,转载请附上原文出处链接和本声明。