了解 MySQL 中的空值
在 MySQL 中,空值表示缺失或未知的資料。與其他值不同,null 不能直接比較或賦值給自身。在查詢具有空列的行時,此行為可能會導致意外結果。
問題:選擇具有空白列的行
嘗試為某個列選擇具有空值的行時特定列,常見的查詢形式如下所示:
SELECT pid FROM planets WHERE userid = NULL;
但是,即使在以下情況下,此查詢也可能傳回空集合:該表包含該列中包含null 的行。
解決方案:使用 IS NULL 比較
要正確查詢 null 值,請使用 IS NULL 運算子而不是 = 操作員。正確的查詢應該是:
SELECT pid FROM planets WHERE userid IS NULL;
此運算子明確檢查列是否為空,避免空相等的複雜性。
其他注意事項
結論
透過使用 IS NULL 運算子並考慮 InnoDB 等替代儲存引擎,您可以在 MySQL 中準確查詢具有 null 值的行算符。但是,請記住,null 仍然是一個特殊值,具有可能影響查詢結果的獨特屬性。
以上是MySQL中如何正確選擇含有NULL值的行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!