• ベストアンサー

MySQLのtimestamp型について

MySQLのtimestamp型で質問があるのですが、not nullの指定はできるのでしょうか? また、代入方法はPerlの場合、現在の日時をYYYYMMDDHHMMSS形式の文字列を簡単に作成したいのですが、どのような方法があるのでしょうか? あと、私は日付の場合はint(11)として、日付のシリアル値(1970年からの経過秒)をよく利用していました。理由は、後で足し引きなど計算しやすい為です。それで、日付型というものは使ったことがありません。 みなさんは、この日付関数利用する目的や必要性などありましたら、教えてください。

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

>timestamp型で質問があるのですが、not nullの指定はできるのでしょうか? 仕様上できないようです。 timestamp型はあくまで更新日時を取得するような用途ですから 特定の日時をデフォルト値にはもちません。よって デフォルト値がNULLになっており、NULLを指定すると 現在の時刻がはいります。

すると、全ての回答が全文表示されます。

その他の回答 (1)

回答No.2

まずは、マニュアルを見ましょうよ。 MySQLのTIMESTAMP型は、他のRDBMSとは異なり特殊です。ユーザ任意のタイムスタンプではなく、MySQLが勝手に格納します。 ユーザ任意のタイムスタンプを入れる場合は、DATETIME型を使います。 >代入方法はPerlの場合、現在の日時をYYYYMMDDHHMMSS形式の文字列を簡単に作成したい 何を聞かれているのか分かりませんが? >この日付関数利用する目的や必要性 日時を使うと、視認性が上がります。SQLで、日付の範囲や日付演算が容易に行えます。いちいちシリアル値に変換したりする必要がなくなります。 DB操作するアプリケーションは、一つではありません。多くのアプリケーションで操作したり、確認することがありえます。シリアル値などで格納していたら、値の意味が分かりません。

すると、全ての回答が全文表示されます。

関連するQ&A