Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.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
我的几乎正确的SQL查询给出了一个错误_Sql_Mysql - Fatal编程技术网

我的几乎正确的SQL查询给出了一个错误

我的几乎正确的SQL查询给出了一个错误,sql,mysql,Sql,Mysql,我有一个疑问: SELECT * FROM references WHERE title LIKE '%NSObject%' 给出此错误: 您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以了解在第1行标题为“%NSObject%”的引用附近使用的正确语法 然而,我找不到我的错误。此查询有什么问题?引用是保留字 将其括在背面标记中: SELECT * FROM `references` WHERE title LIKE '%NSObject%' Reference

我有一个疑问:

SELECT * FROM references WHERE title LIKE '%NSObject%'
给出此错误:

您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以了解在第1行标题为“%NSObject%”的引用附近使用的正确语法


然而,我找不到我的错误。此查询有什么问题?

引用
是保留字

将其括在背面标记中:

SELECT  *
FROM    `references`
WHERE   title LIKE '%NSObject%'

References
是一个关键词

如果使用反勾号包装引用,它将知道您正在使用
引用
作为表名或字段名

像这样

Select * from `references`

太棒了,谢谢!由于愚蠢的接受延迟,请等待7分钟。>>更好的是,我会给这张桌子起一个不同的名字。将表名保留为保留字是一种反复出现的痛苦。一份持续不断的礼物。我同意,似乎你最需要的是很多时间保留的字眼将
references
表重命名为
references\u表
my\u references
references\u为重要事项
。正如其他人所提到的,您可以将其包含在backticks中,但我认为,最好尽可能避免使用关键字作为您自己对象的名称,因此我通常会应用一些限定符以使其更清晰。问题是它不是我的数据库,我没有权限更改其结构。该数据库也已经被其他一些应用程序使用。@Time Machine:啊,是的,我非常清楚这种痛苦。;)@沮丧的设计师你为什么要在评论中给出答案?@Keng:quassno我已经回答了这个问题,我只是把我的2美分作为评论。我认为这更多的是一种意见,而不是答案