」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何從sqlite表中刪除一列?

如何從sqlite表中刪除一列?

發佈於2025-03-13
瀏覽:820

How Can I Drop a Column from a SQLite Table?

修改SQLite表:刪除列

問題:

嘗試使用以下查詢從SQLite數據庫表中刪除一列:

ALTER TABLE table_name DROP COLUMN column_name;

但是,沒有成功。解決方法是什麼?

答案:

在SQLite 3.35.0 (2021-03-12) 之前的版本中,不支持直接刪除列。要進行此類更改,需要更複雜的方法:

  1. 創建臨時表: 將所有相關數據(例如,列“a”和“b”)複製到臨時表中:
CREATE TEMPORARY TABLE t1_backup (a, b);
INSERT INTO t1_backup SELECT a, b FROM t1;
  1. 刪除原始表: 刪除包含不需要列的表:
DROP TABLE t1;
  1. 重新創建原始表: 定義不包含已刪除列的新表:
CREATE TABLE t1 (a, b);
  1. 將數據轉移回: 將數據從臨時表插入到新創建的表中:
INSERT INTO t1 SELECT a, b FROM t1_backup;
  1. 刪除臨時表: 通過刪除臨時表來清理:
DROP TABLE t1_backup;
  1. 提交更改: 使更改永久生效:
COMMIT;

更新:

SQLite 3.35.0 及更高版本現在直接支持DROP COLUMN子句,從而可以更輕鬆地從表中刪除列。

最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3