Mysql SQL错误1054-where子句中的未知列-更新集where

Mysql SQL错误1054-where子句中的未知列-更新集where,mysql,Mysql,在unix bash脚本中,我尝试使用以下代码 mysql -D${DB_SERVER} -u${DB_USER} -p${DB_PASS} -s -se "\ UPDATE ${DB_VIEW} \ SET wikiid = ${WIKIID} \ WHERE hostname = ${SERVER} " 这将导致以下错误 第1行出现错误1054(42S22):“where子句”中的未知列“X123456789” 有什么想法吗?我在这里疯了。你必须用一个勾号来逃避这些值。“: mysql -

在unix bash脚本中,我尝试使用以下代码

mysql -D${DB_SERVER} -u${DB_USER} -p${DB_PASS} -s -se "\
UPDATE ${DB_VIEW} \
SET wikiid = ${WIKIID} \
WHERE hostname = ${SERVER} "
这将导致以下错误

第1行出现错误1054(42S22):“where子句”中的未知列“X123456789”


有什么想法吗?我在这里疯了。

你必须用一个勾号来逃避这些值。“:

mysql -D${DB_SERVER} -u${DB_USER} -p${DB_PASS} -s -se "\
  UPDATE ${DB_VIEW} \
  SET wikiid = '${WIKIID}' \
  WHERE hostname = '${SERVER}' "

MySQL将值
X123456789
(属于
${WIKIID}
${SERVER}
)解释为列名,因为它不是作为字符串转义的。

请提供您的表结构和带有填充变量的查询?天哪,就是这样!总是那么简单。非常感谢。