2016-11-09 3 views
0

Ich frage mich, wie ich eine Spalte mit Leerzeichen in mysql fallen lassen. die folgende Versuchte, und bekam folgende Ausnahmen:löschen Spalte mit Leerzeichen in Mysql

alter table test17 drop column [added column2]; 
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 '[added column2]' at line 1 

alter table test17 drop column 'added column2'; 
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 ''added column2'' at line 1 

alter table test17 drop column (added column2); 
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 '(added column2)' at line 1 

Thanks :)

+0

Does Spaltenname enthält Raum? – Viki888

Antwort

0

Sie sollten versuchen, Back-Ticks ("` ") zu verwenden, um Ihren Spaltennamen zu zitieren.

ALTER TABLE test17 DROP COLUMN `added column2`; 

ODER

ohne Säule Wort

ALTER TABLE test17 DROP `added column2`; 
0

Zuerst Spaltenname mit dem Raum ist eine schlechte Praxis. Dann, wenn Sie wirklich eine Spalte löschen möchten, verwenden Sie Graviszeichen statt:

ALTER TABLE test17 DROP COLUMN `added_column2`; 
+0

Ja, das war ein Fehler ... Danke :) – Dardar1991

0

Versuchen:

alter table test17 drop column `added column2`; 

Beachten Sie, dass die Anführungszeichen links geneigt sind.

Übrigens, wenn Sie Leerzeichen als Teil von Bezeichnernamen einschließen (z. B. Funktionen, Prozeduren, Tabellen, Spalten usw.), ist das eine sehr schlechte Praxis.

+0

Danke! Anfänger Fehler:/ – Dardar1991

+0

In der Tat :-). Übrigens, wenn Sie normale Benennungsmethoden verwenden (z. B. ThisIsColumn_5 oder ähnliche, verwenden Sie ausschließlich alphanumerische Zeichen und '_', beginnend mit einem Buchstaben), ersparen Sie sich die Einfügung von Bezeichnern in betitelte Anführungszeichen. Zum Beispiel würde es in Ihrem Fall aussehen: 'alter table test17 drop column added_column2;'. Letzte, meine Antwort war die allererste, aber Sie ausgewählt, um andere als Antwort zu markieren ... – FDavidov

+0

Gut danke..ich weiß nicht, dass ich die Antwort des anderen Kerls (ohne die Spalte) verwendet, also dachte ich, Sie wählen die Antwort Sie tatsächlich benutze irgendwann ... – Dardar1991