Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Menggugurkan Lajur daripada Jadual SQLite?

Bagaimanakah Saya Boleh Menggugurkan Lajur daripada Jadual SQLite?

Susan Sarandon
Susan Sarandonasal
2025-01-11 22:51:43929semak imbas

How Can I Drop a Column from a SQLite Table?

Ubah suai jadual SQLite: padam lajur

Soalan:

Cuba padam lajur daripada jadual pangkalan data SQLite menggunakan pertanyaan berikut:

<code class="language-sql">ALTER TABLE table_name DROP COLUMN column_name;</code>

Namun, tiada kejayaan. Apakah penyelesaiannya?

Jawapan:

Dalam versi sebelum SQLite 3.35.0 (2021-03-12), pemadaman terus lajur tidak disokong. Untuk membuat perubahan sedemikian, pendekatan yang lebih canggih diperlukan:

  1. Cipta jadual sementara: Salin semua data yang berkaitan (cth. lajur "a" dan "b") ke dalam jadual sementara:
<code class="language-sql">CREATE TEMPORARY TABLE t1_backup (a, b);
INSERT INTO t1_backup SELECT a, b FROM t1;</code>
  1. Padam jadual asal: Padam jadual dengan lajur yang tidak perlu:
<code class="language-sql">DROP TABLE t1;</code>
  1. Buat semula jadual asal: Tentukan jadual baharu yang tidak mengandungi lajur yang dipadamkan:
<code class="language-sql">CREATE TABLE t1 (a, b);</code>
  1. Pindahkan kembali data: Masukkan data daripada jadual sementara ke dalam jadual yang baru dibuat:
<code class="language-sql">INSERT INTO t1 SELECT a, b FROM t1_backup;</code>
  1. Padam jadual sementara: Bersihkan dengan memadam jadual sementara:
<code class="language-sql">DROP TABLE t1_backup;</code>
  1. Komit perubahan: Buat perubahan kekal:
<code class="language-sql">COMMIT;</code>

Kemas kini:

SQLite 3.35.0 dan lebih baru kini menyokong terus klausa DROP COLUMN, menjadikannya lebih mudah untuk menggugurkan lajur daripada jadual.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggugurkan Lajur daripada Jadual SQLite?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn