首页 > 数据库 > mysql教程 > 如何从 SQLite 表中删除列?

如何从 SQLite 表中删除列?

Susan Sarandon
发布: 2025-01-11 22:51:43
原创
986 人浏览过

How Can I Drop a Column from a SQLite Table?

修改SQLite表:删除列

问题:

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

<code class="language-sql">ALTER TABLE table_name DROP COLUMN column_name;</code>
登录后复制

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

答案:

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

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

更新:

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

以上是如何从 SQLite 表中删除列?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板