0

これは説明できません。これが機能しない原因となっている根本的なことを見落としていますか? 現時点では、(テスト目的で) エントリが 1 つだけの単純なテーブルがあります。

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

は主キーvote_iduser_id&image_idは外部キー、vote_typeはブール値

2 つの句を使用したこの途方もなく単純な選択クエリWHEREは、テーブル内の 1 つのエントリを返しません。

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が空の結果セットを返しました」というメッセージが表示されるだけで、エラーは発生しません。何が起きてる?

4

1 に答える 1

2

一重引用符の代わりに逆引用符が必要です。試す:

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

文字列定数には一重引用符が使用されます。したがって、文字列「user_id」は整数「8」と等しくありません。

于 2013-08-17T23:01:47.393 に答える