mySQL 语法问题


mySQL Syntax Issues

我在SQL方面遇到了问题。

此 SQL 语句:

从聊天中选择 *,其中 id=16

输出:

数组 ( [id] => 16 [从] => 5 [到] =>

6 [消息] => 示例消息 [时间] => 1337674546 )

以下 SQL 语句:

从聊天中选择 *,其中 FROM=5

输出错误:

您的 SQL 语法有误;请查看手册 对应于您的MySQL服务器版本,以便使用正确的语法 在第 1 行的"from=5"附近

如您所见,第二条语句应返回相同的结果,但事实并非如此。

我正在使用新安装的 XAMPP,其中包括:
Apache/2.2.21 (Win32) mod_ssl/2.2.21 OpenSSL/1.0.0e PHP/5.3.8 mod_perl/2.0.4 Perl/v5.10.1
MySQL 客户端版本: mysqlnd 5.0.8-dev - 20102224 - $Revision: 310735 $

似乎我在这里错过了一些明显的东西,但我无法弄清楚发生了什么。

第二个查询更改为:

SELECT * from chat WHERE `from`=5

from 是一个保留关键字,您应该始终避免使用或至少引用以使其工作。

当您使用单词 from 作为字段名称时,您需要在反引号中对其进行转义,因为它是一个保留字。

以下是整个 SQL 转义并大写:

SELECT * FROM `chat` WHERE `from` = 5
SELECT * FROM `chat` WHERE `from`='5'

由于form是 MY SQL 中的保留关键字,因此需要使用反引号进行转义。

 SELECT * FROM chat WHERE `from`=5;

from是MySQL中的一个关键字,因此您需要转义该关键字。因此,MySQL可以将其视为列名。使用"对关键字进行转义。

你可以试试这个。

SELECT * from chat WHERE `from`=5;