从 SQLite 表中删除列
尝试使用 ALTER TABLE table_name DROP COLUMN column_name
查询从 SQLite 数据库中删除列时,可能会遇到错误。要解决此问题,请考虑以下选项:
检查 SQLite 版本
截至 2021 年 3 月 12 日 (3.35.0),SQLite 支持 DROP COLUMN
命令。请确保您使用的是兼容的 SQLite 版本。
重新创建表
如果使用较新的 SQLite 版本不起作用,您可以重新创建表以删除不需要的列。为此:
创建一个临时表来存储现有数据:
<code class="language-sql">CREATE TEMPORARY TABLE t1_backup(a,b);</code>
将数据从原始表插入到临时表:
<code class="language-sql">INSERT INTO t1_backup SELECT a,b FROM t1;</code>
删除原始表:
<code class="language-sql">DROP TABLE t1;</code>
创建不包含不需要的列的新表:
<code class="language-sql">CREATE TABLE t1(a,b);</code>
将数据从临时表插入回新表:
<code class="language-sql">INSERT INTO t1 SELECT a,b FROM t1_backup;</code>
删除临时表:
<code class="language-sql">DROP TABLE t1_backup;</code>
请记住提交更改以使其永久生效:
<code class="language-sql">COMMIT;</code>
以上是如何有效删除 SQLite 数据库中的列?的详细内容。更多信息请关注PHP中文网其他相关文章!