我有一个MySQL php查询,该查询将在字符串用作条件时返回一个值,但在使用整数时返回false。这很管用,
SELECT field FROM table WHERE name='john';这可不是
SELECT field FROM table WHERE index='1';下面是所讨论的行的一个示例
|index(int)|Name(varchar)|Field(varchar)|
| 1 | john | data |查询整数是否存在固有的问题?有人有什么想法吗?
发布于 2015-08-11 05:24:50
在这种情况下,表名中的“index”将被视为保留关键字。
在MySQL中,存在着大量的特殊字符或保留字。每次使用其中之一时,必须使用backticks。
Backticks用于表和列标识符,但只有在标识符是MySQL保留关键字时,或者当标识符包含的空格字符或字符超出有限集时(见下文),通常建议尽可能避免使用保留关键字作为列或表标识符,以避免引用问题。
根据MySQL文档,您不需要使用以下字符集引用(回勾)标识符:
[0-9,a-z,A-Z$_](基本拉丁字母,数字0-9,美元,下划线)
您可以使用该集合以外的字符作为表或列标识符,例如,包括空格,但是必须引用(回勾)它们。
在您的情况下使用index (backticks!)而不是索引应该起作用
https://stackoverflow.com/questions/31933606
复制相似问题