2012-03-03 50 views
4

mysql的錯誤(不勞特請)Mysql的錯誤添加表時這樣一個腳本

我做的,生成統計表格上我的網站的腳本。這個腳本生成用於不同的統計數據與不同粒度像2000表:通過多年白天用戶通過USER_AGENT

等...(不要問我爲什麼這個,它是由以前所謂的建築師做出的 - 如果他們加載的時間少於0.02秒)

所以我更新腳本添加新表,但我犯了一個錯誤。

我在表名中放了一個空格,現在我無法刪除它。所以我儘量把\逃跑,但沒有成功:

[email protected]:reports> drop table xd_2012_02_\ ua; 
ERROR: 
Unknown command '\ '. 
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 '\ ua' at line 1 

回答

8

您必須使用` - 這會將你想爲實際的表名傳遞的字符串,而不是一堆命令來執行。

[email protected]:reports> drop table `xd_2012_02_\ ua`; 

這應該顯示:

Query OK, 0 rows affected (0.00 sec) 

我會建議使用不僅爲這種情況下,`,而且,如果使用保留MySQL的話就像typedesc(防止錯誤作爲說明)列或表名稱。這可能會在稍後爲您節省麻煩。儘管使用保留或特殊字符並不是一個好習慣,但那只是我自己。

+0

它的工作原理,謝謝合作。 – 2012-03-03 02:26:03

+0

順便問一句,順便提一下 – 2012-03-03 02:27:11

+0

,你覺得這個「架構」是不錯的設計? – 2012-03-03 02:27:32

0

使用的語法如下:

drop table \`xd_2012_02 ua\`; 

這應該與空間