2013-08-17 58 views
0

我无法解释这一点。我忽略了什么基本的东西导致了这个不起作用?我有一个简单的表,此刻只有一个入口(用于测试目的):简单的select查询返回空结果集?

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条款做esn't返回任何东西:

SELECT * FROM `votes` WHERE 'vote_type' = 1; 

然而,一个SELECT没有条件并返回结果1:

SELECT * FROM `votes`; 

注意,我没有得到任何错误,我只是得到告知“MySQL的返回一个空的结果集“。这里发生了什么?

+0

难道你的列不是整型吗? – Axel

+0

确保字段是字符串(如果是),请在查询中使用引号。 'SELECT * FROM'votes'WHERE'user_id'='8'AND'image_id'='5';' – PiLHA

回答

2

您需要反引号而不是单引号。请尝试:

SELECT * FROM `votes` WHERE `user_id` = 8 AND `image_id` = 5; 

单引号用于字符串常量。所以字符串“user_id”不等于整数“8”。

+0

是的,那是有效的。谢谢! – ReactingToAngularVues