在bash中执行此代码时:
q="$conn 'SELECT name FROM device WHERE uid='0dba9ec2-f2fe-11e5-be09-000c29437b45';'"
r=$(ssh "$ssh_user"@"$ssh_host" $q)
echo "R is.. " $r;
我得到了这个输出:
“第1行的错误1054(42S22):'where子句'中的未知列'0dba9ec2'”
$ r的值为null。我已经尝试过其他查询,其中WHERE过滤器值没有连字符,它工作正常,所以我猜测连字符可能与它有关。
我很欣赏任何可能缺少的指导?
谢谢!
答案 0 :(得分:0)
修复您的查询。您正在使用4个单引号,相互取消。使用转义双引号\"
q="$conn \"SELECT name FROM device WHERE uid='0dba9ec2-f2fe-11e5-be09-000c29437b45\";'"