Mysql错误(请不要笑)
我制作了一个脚本,为我的网站生成统计表。此脚本生成超过2000个表,这些表用于具有不同粒度的不同统计数据,如:
所以我更新了脚本以添加新表,但我犯了一个错误。
我在表名中放了一个空格,现在我无法将其删除。所以我试着用它来逃避它但没有成功:
root@summary: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
答案 0 :(得分:8)
你必须使用` - 这会将传递的字符串视为实际的表名而不是你要执行的一堆命令。
root@summary:reports> drop table `xd_2012_02_\ ua`;
这应该显示:
Query OK, 0 rows affected (0.00 sec)
我建议不仅在这种情况下使用`,而且如果您使用type
或desc
这样的保留MySQL字词,也可以防止出现错误(作为说明) )用于列或表名。这可能会在以后节省您的麻烦。虽然使用保留或特殊字符不是一个好习惯,但那只是我。
答案 1 :(得分:0)
使用以下语法:
drop table \`xd_2012_02 ua\`;
这应该适用于空间