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

kyo*_*kyo 4 mysql database linux command-line-interface

目标

我试图截断我的数据库中的一张表。


细节

数据库名称:站点本地表名称:cloud_securities


我试过了

mysql -u root -p'' -h localhost site-local -e "truncate table site-local.cloud_securities"
Run Code Online (Sandbox Code Playgroud)

结果

输入密码后,我一直收到

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
Run Code Online (Sandbox Code Playgroud)

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

Phi*_*ipp 7

命令行在数据库和表名中的破折号有问题。

但是,您可以访问客户端然后发送您的语句,必须将数据库和表放在反引号中。

mysql -u root -h localhost
truncate table `site-local`.`cloud_securities`;
Run Code Online (Sandbox Code Playgroud)

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

解决方案:

mysql -u root -p'' -h localhost site-local -e "truncate table \`site-local\`.\`cloud_securities\`"
Run Code Online (Sandbox Code Playgroud)

  • 或者使用单引号而不是双引号,那么反引号不需要转义: -e 'truncate table \`benu-local\`.\`cloud_securities\`' (2认同)