MySQL 5.1.65 |选择在哪里找不到我知道的东西

标签 mysql where-clause

我正在尝试使用这个令人厌恶的 MySQL 版本 (5.1.65),它要求所有内容都用引号引起来,而且对所有内容都非常严格。我试图寻找重复的条目,所以我试图制作一个脚本,如果它返回用户提交的值,那么显然我们有一个重复项。好吧,那是在我的服务器上工作,不是这个。

这就是我要执行的操作。一切顺利,没有错误,

SELECT * FROM `keylist` WHERE 'key' = '7489asdf32749asdf8237492asdf49837249'

问题是 7489asdf32749asdf8237492asdf49837249 在数据库中作为 varchar...它完全一样。但奇怪的是,如果我这样做

SELECT * FROM `keylist` WHERE key = '7489asdf32749asdf8237492asdf49837249'

那行不通,但如果我这样做是为了选择我的 ID,它就可以了。

我不知道我做错了什么,但这个愚蠢的 MySQL 版本肯定帮不上什么忙。

总的来说,我的问题是我正在尝试寻找重复项,所以我做了一个 WHERE key = 语句,并且其中的一个键在我知道它在那里时不返回任何内容。

最佳答案

key 是 MySQL 中的保留字 - http://dev.mysql.com/doc/mysqld-version-reference/en/mysqld-version-reference-reservedwords-5-0.html

您的第一个版本作品变成了反义词 - ` ` 强制解释为实际的列名。

关于MySQL 5.1.65 |选择在哪里找不到我知道的东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14178954/

相关文章:

php - IIS、MS SQL 和 PHP - PHP 中的 SQL 选择不起作用

php - 使用 PHP 检查 MySQL 数据库是否为空

mysql - 如果 mysql 中不存在则添加列

mysql - 在内连接上添加 where 子句

mysql - 无法对浮点值实现 WHERE 子句

sql - MySQL 浮点值在插入时跳跃?

mysql - 在mysql php中以特定格式显示消息

mysql - 特定 mysql 查询的问题

mysql - 为什么这个带有嵌套WHERE 子查询的SELECT 语句在MYSQL 中运行缓慢?

php - MySQL 更新查询,where 条件仅更新一条记录