最近、mysql の null 値クエリの問題が発生しました。このフィールドをクエリすると、一部のフィールドが null で、一部のフィールドは null ではありません。このフィールドのクエリ条件が query の場合、null の値は表示されません。
例
新しいテーブル test_user 名と電話番号のデフォルト値は null です。
データを追加しましょう
名前がZhang Sandeのデータではないか確認してください
select * from test_user where name !='张三'
IDが4だとなぜ見つからないのでしょうか?ビジネス名が null の場合は、その値も調べる必要があり、データ損失が発生します。
同じクエリでは、携帯電話番号が 15822222222 ではないことがわかります。
SELECT * FROM test_user WHERE 電話 !='15822222222'
王爾が行方不明
名前と電話番号のデフォルト値を空に変更してみましょう。
SQL ステートメントを使用して、データベース内の NULL フィールドを空に変更します。
UPDATE test_user SET NAME = IFNULL(NAME,'')
UPDATE test_user SET 電話 = IFNULL(電話,'')
上記のSQLを再度クエリしてみましょう
空の値が見つかります。
テーブルを作成するときは、独自のビジネス シナリオに応じて、作成されるフィールドのデフォルト値が空であるか null であるかに注意する必要があります。