'中的mysql未知列;其中第'条;使用保留字时
mytable的列名为key、value、modified_at。 我知道key是mysql上的一个保留字 所以我用``'中的mysql未知列;其中第'条;使用保留字时,mysql,where,Mysql,Where,mytable的列名为key、value、modified_at。 我知道key是mysql上的一个保留字 所以我用`` select * from mytable where `key`=XXX; 但失败,返回消息为 Unknown column 'XXX' in 'where clause'. 我应该怎么做才能修复?确保XXX在报价单中 select * from mytable where `key`="wonkystuff"; 在您的查询中: select * from mytab
select * from mytable where `key`=XXX;
但失败,返回消息为
Unknown column 'XXX' in 'where clause'.
我应该怎么做才能修复?确保XXX在报价单中
select * from mytable where `key`="wonkystuff";
在您的查询中:
select *
from mytable
where `key` = XXX;
表达式XXX
不会以任何方式转义。这意味着SQL将其识别为一个标识符,在此上下文中,它将是一个列名
要使其成为字符串常量,请将其置于单引号中。应始终对字符串和日期常量使用单引号,而不是对任何其他常量使用单引号:
select *
from mytable
where `key` = 'XXX';
你能展示一下桌子的结构吗?当然可以。key=varchar,PRI/value=varchar/modified_at=timestamp。它也能工作!Thx戈登·林诺夫!谢谢你的详细帖子。没问题!选中标记表示感谢:D(当您得到喜欢的答案时,单击该答案左侧箭头下的选中标记图标。帮助社区解决问题。)