Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
'中的mysql未知列;其中第'条;使用保留字时_Mysql_Where - Fatal编程技术网

'中的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

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 mytable
where `key` = XXX;
表达式
XXX
不会以任何方式转义。这意味着SQL将其识别为一个标识符,在此上下文中,它将是一个列名

要使其成为字符串常量,请将其置于单引号中。应始终对字符串和日期常量使用单引号,而不是对任何其他常量使用单引号:

select *
from mytable
where `key` = 'XXX';

你能展示一下桌子的结构吗?当然可以。key=varchar,PRI/value=varchar/modified_at=timestamp。它也能工作!Thx戈登·林诺夫!谢谢你的详细帖子。没问题!选中标记表示感谢:D(当您得到喜欢的答案时,单击该答案左侧箭头下的选中标记图标。帮助社区解决问题。)