• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:日付型の0000-00-00をなんとかしたい)

MySQLでの日付型の0000-00-00の登録に関する問題と解決方法

このQ&Aのポイント
  • MySQLでDBを作っている際に、日付型の0000-00-00が正確に入力されない場合に登録されてしまう問題が発生しています。Perlを使用して登録しており、0000-00-00をNULLでUPDATEすることで問題は解決できますが、より良い解決方法はないかを求めています。
  • MySQLでDBを作っている際に、0000-00-00が正確に入力されない場合に登録されてしまう問題が生じています。Perlからの登録操作を行っており、0000-00-00をNULLでUPDATEすることで対処できますが、他にもっと優れた解決方法はないかを知りたいと思っています。
  • MySQLでDBを作成している際に、日付型の0000-00-00が正確に入力されない場合には、そのまま0000-00-00として登録されてしまいます。Perlでの登録操作を行っており、0000-00-00をNULLでUPDATEすることで問題を解決できますが、より良い解決策はないかを模索しています。

質問者が選んだベストアンサー

  • ベストアンサー
  • selenity
  • ベストアンサー率41% (324/772)
回答No.1

[date]欄をDEFAULT NULLオプション付きでCREATE TABLEしておき、 INSERTする前にパラメータ$FORM{date}の有無をチェックし、 $statement = insert into table (id, name, date) values (?, ?, ?); でINSERTするケースと、 $statement = insert into table (id, name) values (?, ?); と場合分けするのは如何ですか?

MEITO
質問者

お礼

なるほど。 日付系の入力はYYYYMMDDしか許さないことにして 正規表現で判定して分けることにしました。 うまくいきそうです(^。^) ありがとうございました。

関連するQ&A