1

我有一个 MySQL 查询,它返回一条错误消息。我想可能是因为“out”这个词。通常,我只会更改字段名称,但我正在开发一些我不习惯的软件,我不知道会有多少变化。所以,我想确定我是否必须这样做。

这是查询:

SELECT * FROM probid_bids WHERE auctionid=73 AND out=0 AND invalid=0

这里的错误信息:

您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的“out=0 AND invalid=0”附近使用正确的语法

4

3 回答 3

4

OUT确实是保留字。您可以将列名包含在反引号中以引用名称,从而避免此问题,如下所示:

SELECT * FROM probid_bids WHERE `auctionid`=73 AND `out`=0 AND `invalid`=0
于 2012-09-09T17:40:00.803 回答
3

OUT是一个保留字(用于指定参数的类型——IN、OUT、INOUT——创建程序时)。尝试将其包含在反引号 ( `) 中。

此处描述了有关如何以及何时引用标识符(表名、列名等)的规则。

注意:某些 MySQL 配置也允许您使用双引号,但应避免这样做;坚持使用反引号来引用标识符和单引号来引用字符串。

于 2012-09-09T17:39:51.507 回答
2

转义键:

SELECT * FROM `probid_bids` WHERE `auctionid`=73 AND `out`=0 AND `invalid`=0
于 2012-09-09T17:39:45.987 回答