【发布时间】:2014-04-22 15:07:57
【问题描述】:
美好的一天! 我对该查询有一些问题:
SELECT `id`
FROM `test`
WHERE `name`
LIKE "somename" AND `id` = (SELECT max(`id`) FROM test)
它返回一个空结果。
但是
SELECT `id`
FROM `test`
WHERE `name` LIKE "somename"
有效。
此外,
SELECT `id`
FROM `test`
WHERE `id` = (SELECT max(`id`) FROM test)
也可以。
为什么他们不一起工作?
谢谢!
【问题讨论】:
-
它不起作用,因为
someone也没有表格中最高的id。 -
你注意到在第一个查询中得到任何结果只是因为两个条件一起工作
-
答案中没有提到的是您的查询根本不应该“工作”。您对列名使用了单引号,因此它们被解释为字符串文字。 仅对字符串和日期常量使用单引号,从不使用列名或表名。
-
是的。现在我明白了。谢谢!