なぜNULL値をMYSQLのINTと比較すると、MYSQLはNULLを '0'に変換しますか?私はMYSQLに代わってこの恐ろしい事故のために数時間の睡眠とデバッグを失いました。なぜMYSQLはNULL値か文字列値をint値と比較すると0に変換しますか?
EDIT
例:私はクライアントからのポストの入力から値を取得し、その入力が設定されていない場合、私はNULLとしてそのフィールドを設定する必要があり、私は0または任意の他のint型の値として設定されている場合ので、私はdbの実際の記録を打つかもしれない。それを他のNON-INT値に設定すると、MYSQLは比較時に0に変換します。
'null安全比較 '演算子をテストしましたか? '='の代わりに '<=>'を意味しますか? – NDFA
実際のコード例はありませんが、[manual] [1]によると、NULLを含む数学演算は常にNULLになり、NULLを含む論理演算は常にNULLを "false"またはINTとして扱うべきです0.コード例を教えてもらえますか? [1]:https://dev.mysql.com/doc/refman/5.7/en/working-with-null.html – JBH
あなたの権利は@JBHです。私の編集をお読みください。ありがとう。 – Dave2345