MySQL错误1054 - 带连字符的值

时间:2016-03-27 00:20:36

标签: mysql bash

在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过滤器值没有连字符,它工作正常,所以我猜测连字符可能与它有关。

我很欣赏任何可能缺少的指导?

谢谢!

1 个答案:

答案 0 :(得分:0)

修复您的查询。您正在使用4个单引号,相互取消。使用转义双引号\"

而不是单引号
q="$conn \"SELECT name FROM device WHERE uid='0dba9ec2-f2fe-11e5-be09-000c29437b45\";'"