我正在尝试使用这个恶心版本的MySQL(5.1.65),它要求所有内容都在引号中,并且对所有内容都非常严格。我正在尝试查找重复的条目,所以我试图创建一个脚本,如果它返回用户提交的值,那么显然我们有一个副本。那就是在我的服务器上工作,而不是这个。
这是我正在尝试执行的内容。这很好,没有错误,
SELECT * FROM `keylist` WHERE 'key' = '7489asdf32749asdf8237492asdf49837249'
问题是7489asdf32749asdf8237492asdf49837249 IS在数据库中作为varchar ...它完全一样。但奇怪的是,如果我做了
SELECT * FROM `keylist` WHERE key = '7489asdf32749asdf8237492asdf49837249'
如果我选择了我的ID,那就不行了。
我不知道我做错了什么,但这个愚蠢的MySQL版肯定没有帮助。
总的来说,我的问题是我正在尝试查找副本,所以我做了一个WHERE key =语句,并且在那里的一个键,当我知道它在那里时没有返回任何内容。
答案 0 :(得分:1)
key
是MySQL中的保留字 - http://dev.mysql.com/doc/mysqld-version-reference/en/mysqld-version-reference-reservedwords-5-0.html
您的第一个版本将成为对实际列名称的强制解释 - ` `
强制解释。