DB設計(MySQL)
●日付を扱うときtypeはdatetimeではなくint(10)unsignedにしたほうがプログラム上扱いやすい。
理由)出力が下記のようになるから。
datetime : 2013-01-09 23:59:59
int(10)unsigned : 1357722137(UNIX TIMESTAMP)
※テーブルが更新された時の日付を残したいなら、typeは timestamp にし、Extraに on update CURRENT_TIMESTAMP と記述すると自動で更新した時間が格納される。
●unsignedとは
tinyintは -128~127 の256桁を格納できる。(1byte)
unsignedをつけると整数のみ、0~255 を格納できる。
●intの種類
intにはtinyintやmediumintなど、バイト数によって種類がある。
使う桁数によって使い分ける。
例
Field | Type | Null | Key | Default | Extra | Description |
---|---|---|---|---|---|---|
id | mediumint(6) unsigned | NO | PRI | NULL | unique | |
open_date | int(10) unsigned | NULL | opening date | |||
up_date | timestamp | NO | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP | update date |
参考)http://dev.mysql.com/doc/refman/5.1/ja/numeric-types.html