使用命令行从MySQL数据库截断特定表

时间:2016-06-18 02:42:18

标签: mysql linux database command-line-interface

目标

我正在尝试截断我的数据库中的一个表。

详细

数据库名称:site-local 表名:cloud_securities

我试过

mysql -u root -p'' -h localhost site-local -e "truncate table site-local.cloud_securities"

结果

输入密码后,我一直

ERROR 1064 (42000) at line 1: 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 '-local.cloud_securities' at line 1

对此的任何提示/建议将不胜感激!

1 个答案:

答案 0 :(得分:4)

命令行在db和tablenames中的破折号有问题。

然而,您可以访问客户端然后发送您的语句,必须将db和table放在反引号中。

mysql -u root -h localhost
truncate table `site-local`.`cloud_securities`;

编辑:nvm,您可以使用反引号从命令行执行此操作,但您必须将其转义。

<强>解决方案:

mysql -u root -p'' -h localhost site-local -e "truncate table \`site-local\`.\`cloud_securities\`"