Sqlite删除列方法

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 将自动释放空间。
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值