396 Stimmen

Wie kann man mehrere Spalten mit einer einzigen ALTER TABLE-Anweisung in SQL Server löschen (DROP)?

Ich möchte einen einzigen SQL-Befehl schreiben, um mehrere Spalten aus einer einzigen Tabelle in einer ALTER TABLE Erklärung.

Von MSDN's ALTER TABLE Dokumentation ...

DROP { [CONSTRAINT] constraint_name | COLUMN column_name }

Gibt an, dass constraint_name oder column_name aus der Tabelle entfernt wird. DROP COLUMN ist nicht erlaubt, wenn die Kompatibilitätsebene 65 oder früher ist. Es können mehrere Spalten und Beschränkungen aufgelistet werden.

Es heißt, dass mehrere Spalten in der Anweisung aufgeführt werden können, aber die Syntax zeigt kein optionales Komma oder irgendetwas, das auch nur einen Hinweis auf die Syntax geben könnte.

Wie sollte ich mein SQL schreiben, um mehrere Spalten in einer Anweisung zu löschen (wenn möglich)?

3voto

CSY Punkte 208

Bei MySQL (Version 5.6) können Sie nicht mehrere Spalten mit einer einzigen drop -Statement, sondern vielmehr mehrere drop -Erklärungen:

mysql> alter table test2 drop column (c1,c2,c3);
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(c1,c2,c3)' at line 1
mysql> alter table test2 drop column c1,c2,c3;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'c2,c3' at line 1
mysql> alter table test2 drop column c1, drop column c2, drop c3;
Query OK, 0 rows affected (0.64 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> 

ÜBRIGENS, drop <col_name> fehlt es an Personal für drop column <col_name> wie Sie sehen können aus drop c3 oben.

2voto

kk250040 Punkte 29

Wenn nur eine einzige Spalte zu löschen ist, funktioniert die folgende Syntax

ALTER TABLE tablename DROP COLUMN column1;

Um mehrere Spalten zu löschen, verwenden Sie die DROP COLUMN nicht funktioniert, funktioniert die folgende Syntax

ALTER TABLE tablename DROP (column1, column2, column3......);

2voto

Chiragkumar Thakar Punkte 3376

Generisch:

ALTER TABLE table_name 
DROP COLUMN column1,column2,column3;

z.B:

ALTER TABLE Student 
DROP COLUMN Name, Number, City;

1voto

Neelima Punkte 29
alter table tablename drop (column1, column2, column3......);

1voto

Joselin Ceron Punkte 404

Für postgis ist

alter table table01 drop columns col1, drop col2

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X