SQLのNULL値:直感に反する挙動
2025-01-09
SQLにおけるNULL値の扱いは、しばしば予想を裏切ります。この記事では、一意制約を持つカラムにおけるNULL値の驚くべき挙動、つまり複数のNULL値が共存できることを明らかにします。SQLite、Postgres、MySQLの実例を通して、NULL値が「=」と「IS」演算子で異なる振る舞いをすることを示し、その根本的な理由を説明します。一意性を保証するための2つの解決策、生成カラムの作成と部分インデックスの使用を探求します。テーブルサイズが増加したり、潜在的なエラーが発生したりすることを避けるため、部分インデックスの使用がベストプラクティスとして推奨されます。
開発