如何解决在mysql客户机上使用-e时出现的回跳错误?

如何解决在mysql客户机上使用-e时出现的回跳错误?,mysql,ubuntu,terminal,Mysql,Ubuntu,Terminal,嗨,我正在用MySQL客户端在Ubuntu终端上运行BeloSQL mysql -u root \ -proot -e "SELECT * FROM knexus.redis_cache WHERE `key` LIKE '%hub.local%'" 我正在犯错误 程序“密钥”当前未安装。您可以通过键入以下内容进行安装: sudo易于安装驴子 第1行出现错误1064(42000):SQL语法中有错误;请查看与MySQL服务器版本对应的手册,以获取在第1行的“LIKE”%

嗨,我正在用MySQL客户端在Ubuntu终端上运行BeloSQL

mysql -u root \
 -proot -e "SELECT *  FROM knexus.redis_cache WHERE `key` LIKE '%hub.local%'"
我正在犯错误

程序“密钥”当前未安装。您可以通过键入以下内容进行安装:

sudo易于安装驴子

第1行出现错误1064(42000):SQL语法中有错误;请查看与MySQL服务器版本对应的手册,以获取在第1行的“LIKE”%hub.local%''附近使用的正确语法

但是SQL在MYSQL终端上运行正常


我猜这可能是问题字符转义问题,正如我看到的那样,
sudo apt get install驴

键导致bash将键视为一个命令,并将其替换为命令中的输出。您可以尝试不使用它们,也可以将整个命令放在单引号中,将%hub.local%放在双引号中。

ubuntu尝试将“key”作为命令运行,因为有反勾号。我认为,你必须避开这些回击,使用doubleescape回击:“……where\\\`key\\\\`like…”Solarflare我有个主意,下面是为我工作的mysql-u root-proot-e“SELECT*,FROM knexus.redis\u缓存,where\`key\`like'%hub.local%.”在为回击添加注释时,我被迫避开这些回击\\`