通过BASH脚本更新MYSQL表会出现语法错误

时间:2016-04-18 16:09:23

标签: mysql bash

我试图通过bash命令在数据库服务器上运行更新查询。 我必须更新一个IP字段(按字符串排序),但我收到语法错误...

ssh admin@192.168.3.240 "/usr/local/mysql/bin/mysql -D SMARTPARK -u parkuser -ppass -e 'update client SET online=0 where client_ip='192.168.42.11''"

我收到了错误

  

第1行的错误1064(42000):您的SQL语法出错;检查与您的MySQL服务器版本相对应的手册,以便在' .42.11'附近使用正确的语法。在第1行

哪个错误?

1 个答案:

答案 0 :(得分:1)

尝试使用"转义\"字符,以确保不会从发送到数据库的字符串中逃脱。

换句话说,尝试将以下内容放在您正在执行的bash文件中:

ssh admin@192.168.3.240 "/usr/local/mysql/bin/mysql -D SMARTPARK -u parkuser -ppass -e \"update client SET online=0 where client_ip='192.168.42.11'\""