”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 如何从sqlite表中删除一列?

如何从sqlite表中删除一列?

发布于2025-03-13
浏览:333

How Can I Drop a Column from a SQLite Table?

修改SQLite表:删除列

问题:

尝试使用以下查询从SQLite数据库表中删除一列:

ALTER TABLE table_name DROP COLUMN column_name;

但是,没有成功。解决方法是什么?

答案:

在SQLite 3.35.0 (2021-03-12) 之前的版本中,不支持直接删除列。要进行此类更改,需要更复杂的方法:

  1. 创建临时表: 将所有相关数据(例如,列“a”和“b”)复制到临时表中:
CREATE TEMPORARY TABLE t1_backup (a, b);
INSERT INTO t1_backup SELECT a, b FROM t1;
  1. 删除原始表: 删除包含不需要列的表:
DROP TABLE t1;
  1. 重新创建原始表: 定义不包含已删除列的新表:
CREATE TABLE t1 (a, b);
  1. 将数据转移回: 将数据从临时表插入到新创建的表中:
INSERT INTO t1 SELECT a, b FROM t1_backup;
  1. 删除临时表: 通过删除临时表来清理:
DROP TABLE t1_backup;
  1. 提交更改: 使更改永久生效:
COMMIT;

更新:

SQLite 3.35.0 及更高版本现在直接支持DROP COLUMN子句,从而可以更轻松地从表中删除列。

最新教程 更多>

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3