我无法解释这一点。我忽略了什么基本的东西导致这不起作用?我有一个简单的表,目前只有一个条目(用于测试目的):
TABLE votes
vote_id | user_id | image_id | vote_type
----------------------------------------
43 | 8 | 5 | 1
vote_id
是主键,user_id
& image_id
是外键,vote_type
是布尔值
这个带有2个WHERE
子句的简单选择查询甚至不会返回表中的一个条目:
SELECT * FROM `votes` WHERE 'user_id' = 8 AND 'image_id' = 5;
即使1个WHERE
子句也不返回任何内容:
SELECT * FROM `votes` WHERE 'vote_type' = 1;
然而,没有条件的SELECT确实会返回1个结果:
SELECT * FROM `votes`;
注意,我没有收到任何错误,我只是被告知“MySQL返回了一个空结果集”。这是怎么回事?
答案 0 :(得分:2)
您需要反引号而不是单引号。尝试:
SELECT * FROM `votes` WHERE `user_id` = 8 AND `image_id` = 5;
单引号用于字符串常量。所以字符串“user_id”不等于整数“8”。