0

我无法解释这一点。我忽略了什么基本的事情导致这不起作用?我有一个简单的表,目前只有一个条目(用于测试目的):

TABLE votes
vote_id | user_id | image_id | vote_type 
----------------------------------------
43      | 8       | 5        | 1

wherevote_id是主键,user_id&image_id是外键,vote_type是布尔值

这个带有 2 个WHERE子句的非常简单的选择查询甚至不会返回表中的一个条目:

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

甚至 1WHERE子句也不返回任何内容:

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

然而,没有条件的 SELECT 确实返回 1 结果:

SELECT * FROM `votes`;

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

4

1 回答 1

2

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

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

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

于 2013-08-17T23:01:47.393 回答