„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie kann ich eine Spalte aus einer SQLite -Tabelle fallen lassen?

Wie kann ich eine Spalte aus einer SQLite -Tabelle fallen lassen?

Gepostet am 2025-03-13
Durchsuche:204

How Can I Drop a Column from a SQLite Table?

sqlite Tabelle: Löschen Sie die Spalte

]

Frage:

Versuchen Sie, eine Spalte aus der SQLite -Datenbanktabelle mit der folgenden Abfrage zu löschen:

ALTER TABLE table_name DROP COLUMN column_name;

Es war jedoch nicht erfolgreich. Was ist die Lösung?

Antwort:

In Versionen vor SQLite 3.35.0 (2021-03-12) wird die direkte Löschung von Spalten nicht unterstützt. Um solche Änderungen vorzunehmen, ist ein komplexerer Ansatz erforderlich:

  1. Temporäre Tabelle erstellen: Kopieren Sie alle relevanten Daten (zum Beispiel Spalten "a" und "b") in temporäre Tabelle:
CREATE TEMPORARY TABLE t1_backup (a, b);
INSERT INTO t1_backup SELECT a, b FROM t1;
  1. löschen Sie die Originaltabelle: die Tabelle mit unerwünschten Spalten löschen:
DROP TABLE t1;
  1. neu erstellen die Originaltabelle: Definieren Sie eine neue Tabelle, die keine gelöschten Spalten enthält:
CREATE TABLE t1 (a, b);
  1. Daten zurücksetzen: Einfügen Daten aus einer temporären Tabelle in die neu erstellte Tabelle:
INSERT INTO t1 SELECT a, b FROM t1_backup;
  1. Temporäre Tabelle löschen: Aufräumen Sie durch Löschen von temporärer Tabelle:
DROP TABLE t1_backup;
  1. ändert Änderungen: Änderungen dauerhaft machen:
COMMIT;
]

erneuern:

sqlite 3.35.0 und später unterstützt jetzt die DROP -Spalteklausel direkt, sodass die Spalten aus Tabellen leichter werden.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3