MySQLでのTIMESTAMP型
MySQLでのTIMESTAMP型がちょっと妙なので・・・
TIMESTAMP型のカラムを生成する時に
- デフォルト値にcurrent_timestampを設定できる
- レコードが更新された時に自動的に現在時刻でTIMESTAMP型のカラムを更新できる
こんなカラムの属性を設定できる
これだけを聞くととても便利なような気がするのだが、制約がある1つのテーブルで上記設定ができるは1カラムのみなのだ
例えば、テーブルを作る時に
- 登録日時
- 更新日時
- 削除日時
の3つのカラムを作成し、
- 登録日時は、デフォルト値にcurrent_timestampを設定、
- 更新日時は、デフォルト値にcurrent_timestampを設定と更新時に自動的に現在時刻で更新というような設定にしたいと思うのだが
これができない。
1カラムにしか上記属性を設定できないからだ・・・。
なんか使い辛いゾ
ということでMySQLではTIMESTAMP型を使わずにDATETIME型を使用します。
そんでもって、プログラム側で時刻を登録するようにするのが一番ベストな選択のような気がします・・・
なんの為の便利な機能なのだか分らん
更新日時だけTIMESTAMP型という選択肢もあるかと思うが全部同じ型で統一した方がわかりやすいしね
コメント:0件
トラックバック:1件
[11.開発日記][MySQL]登録日時・更新日時を記録する場合、TIMESTAMP型かDATETIME型か、それとも…
経験値がないから、どういう型を使えばいいのかでとってもとっても迷うんですよねぇ……(後々影響しまくるし)。 今回は、登録日時・更新日時の場合です。 TIMESTAMP型かDATETIME型の比…