SQLite-Tabelle ändern: Spalte löschen
Frage:
Versuchen Sie, eine Spalte aus einer SQLite-Datenbanktabelle mit der folgenden Abfrage zu löschen:
<code class="language-sql">ALTER TABLE table_name DROP COLUMN column_name;</code>
Es gab jedoch keinen Erfolg. Was ist die Lösung?
Antwort:
In Versionen vor SQLite 3.35.0 (12.03.2021) wird das direkte Löschen von Spalten nicht unterstützt. Um solche Änderungen vorzunehmen, ist ein ausgefeilterer Ansatz erforderlich:
<code class="language-sql">CREATE TEMPORARY TABLE t1_backup (a, b); INSERT INTO t1_backup SELECT a, b FROM t1;</code>
<code class="language-sql">DROP TABLE t1;</code>
<code class="language-sql">CREATE TABLE t1 (a, b);</code>
<code class="language-sql">INSERT INTO t1 SELECT a, b FROM t1_backup;</code>
<code class="language-sql">DROP TABLE t1_backup;</code>
<code class="language-sql">COMMIT;</code>
Aktualisierung:
SQLite 3.35.0 und höher unterstützt jetzt direkt die DROP COLUMN-Klausel, wodurch es einfacher wird, Spalten aus Tabellen zu löschen.
Das obige ist der detaillierte Inhalt vonWie kann ich eine Spalte aus einer SQLite-Tabelle löschen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!