2016-11-09 44 views
0

我想知道如何在mysql中刪除包含空格的列。 試過以下,並得到了以下情況除外:在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 

謝謝:)

+0

不列名包含空間? – Viki888

回答

0

您應該嘗試使用back tick(「`」)來引用您的列名稱。

ALTER TABLE test17 DROP COLUMN `added column2`; 

OR

無柱字

ALTER TABLE test17 DROP `added column2`; 
0

首先,空間列名是不好的做法。然後,如果你真的想刪除一列,用反引號代替:

ALTER TABLE test17 DROP COLUMN `added_column2`; 
+0

是的,這是一個錯誤...謝謝:) – Dardar1991

0

嘗試:

alter table test17 drop column `added column2`; 

注意,引號字符向左傾斜。順便說一句,如果你將空格作爲標識符名稱的一部分(例如函數,過程,表格,列等),這是一個非常糟糕的做法。

+0

謝謝!初學者錯誤:/ – Dardar1991

+0

確實:-)。順便說一下,如果您使用正常的命名方法(例如'ThisIsColumn_5'等,僅使用字母數字字符和'_',以字母開頭),則可以避免將標識符包含在標題中。例如,你的情況就是:'alter table test17 drop column added_column2;'。最後,我的回答是第一個,但你選擇將其他標記爲答案... – FDavidov

+0

嗯,謝謝..我不知道我用另一個人的答案(沒有列),所以我認爲你選擇了你實際的答案最終使用... – Dardar1991