2013-08-17 56 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