古いコードが実際の日付の代わりに Date および DateTime 列に '0000-00-00' を挿入するのが好きなデータベースがあります。そこで、次の 2 つの質問があります。
- これをブロックするためにデータベースレベルでできることはありますか? 列を非 null に設定できることはわかっていますが、それがこれらのゼロ値をブロックしているようには見えません。
- 日付フィールドの既存のゼロ値を検出する最良の方法は何ですか? それぞれ 2 ~ 3 の日付列を持つ約 100 のテーブルがあり、それらを個別にクエリしたくありません。
ファローアップ:
デフォルトはすでに null に設定されています。昔は、デフォルトは「0000-00-00」でした。'0000-00-00' を明示的に配置するコードもあります。そのコードを強制的にエラーをスローさせて、それを分離して削除できるようにしたいと思います。