mytable的列名是key,value,modified_at。 我知道key是关于mysql的保留字。
所以我用``。
select * from mytable where `key`=XXX;
但失败并返回消息
Unknown column 'XXX' in 'where clause'.
我该怎么做才能解决?
答案 0 :(得分:1)
确保XXX在引号中。
select * from mytable where `key`="wonkystuff";
答案 1 :(得分:0)
在您的查询中:
select *
from mytable
where `key` = XXX;
表达式XXX
不会以任何方式转义。这意味着SQL将其识别为标识符,在此上下文中,它将是列名。
要使这个字符串保持不变,请将其放在单引号中。您应该始终对字符串和日期常量使用单引号,而不是其他任何内容:
select *
from mytable
where `key` = 'XXX';