修改 SQLite 表:删除列
在操作 SQLite 数据库时,您可能需要从表中删除列。尽管直觉上会使用 "ALTER TABLE 表名 DROP COLUMN 列名" 查询,但用户可能会遇到错误。
原因和解决方案
直到最近,SQLite 还不直接支持删除列。但是,最新版本 (3.35.0 及更高版本) 现在提供了此功能。
在此更新之前,修改表结构需要采用更复杂的方法:
以下步骤概述了使用 SQL 语法的过程:
<code class="language-sql">BEGIN TRANSACTION; CREATE TEMPORARY TABLE t1_backup(a,b); INSERT INTO t1_backup SELECT a,b FROM t1; DROP TABLE t1; CREATE TABLE t1(a,b); INSERT INTO t1 SELECT a,b FROM t1_backup; DROP TABLE t1_backup; COMMIT;</code>
使用 DROP COLUMN 支持的更新后的解决方案
使用最新的 SQLite 版本,此过程已大大简化。现在可以使用以下查询直接删除列:
<code class="language-sql">ALTER TABLE 表名 DROP COLUMN 列名</code>
此命令将永久删除表中指定的列。请注意,结果将丢失该列中以前存储的所有数据。
以上是如何删除 SQLite 表中的列?的详细内容。更多信息请关注PHP中文网其他相关文章!