1

次のようなクエリを送信すると

SELECT id FROM private_messages WHERE to_id=1 AND opened=0

何も返さない

SELECT id FROM private_messages WHERE to_id=1 AND opened<>1

open=0 のすべての結果を返します。opened列タイプは、値が「1」および「0」(デフォルト)の列挙型です。問題は、最初のクエリが何も返さないのはなぜですか?

4

2 に答える 2

6

は列挙型なのでopened、次のように記述する必要があります。

SELECT id FROM private_messages WHERE to_id=1 AND opened='0'

列挙型は実際には可能な文字列のセットにすぎません。ドキュメントから:

AnENUMは、テーブルの作成時に列の指定で明示的に列挙された許可された値のリストから選択された値を持つ文字列オブジェクトです。

于 2012-06-04T19:21:59.553 に答える