首頁 >資料庫 >mysql教程 >如何從 SQLite 表中刪除列?

如何從 SQLite 表中刪除列?

Susan Sarandon
Susan Sarandon原創
2025-01-11 22:51:431060瀏覽

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn