2013-03-28 25 views
1

在MySQL查詢有5000條記錄, 在表:訂閱[ID自動增量INT,名varchar64,歸檔tinyint4]MySQL的PHP​​查詢:爲什麼一個包括不等於影響結果

我傳遞的3061之間以下SQL

$sqlg = "SELECT * FROM subscriptions where archive != 1 order by id desc limit 0,24"; 

上述返回 記錄 - 3012

如果刪除where子句,

SELECT * FROM subscriptions order by id desc 

它返回,5066 - 5037之間的記錄,這是我正在尋找與值爲NULL或0的存檔正確的結果。 任何想法,爲什麼會發生這種情況?

+0

閱讀[上NULL在比較中如何表現的文檔(http://dev.mysql.com/doc/refman/5.6 /en/working-with-null.html)。 – Barmar 2013-03-28 05:35:05

回答

1

NULL0不一樣。簡單說就是未知的,所以如果你想檢查NULL此外,使用IS NULL

SELECT * 
FROM subscriptions 
where archive = 0 OR archive IS NULL 
order by id desc 
limit 0, 24 
相關問題