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

如何從 SQLite 表中刪除列?

Susan Sarandon
發布: 2025-01-11 22:51:43
原創
928 人瀏覽過

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
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板