簡單來說,預設timestamp屬性是「只要有值」 在同一筆資料只要「新增/修改」的時候,MySQL會自動幫你將「 timestamp型態的欄位」寫入目前現在的時間。
兩種屬性可提供調整使用:
自動初始化: 此欄位「寫入」資料時,自動將timestamp的欄位,寫入現在時間。
DEFAULT CURRENT_TMESTAMP(建立時,自動寫入時間)
自動更新:此欄位「修改」資料時,自動將timestamp的欄位,寫入現在時間。
ON UPDATE CURRENT_TIMESTAMP(更新時,自動寫入時間)
主要有下述 四種 設法/時機: (範例轉載自官方網站: MySQL 5.1 Reference Manual - TIMESTAMP Properties)
- 自動初始化 及 自動更新
ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
- 只做自動初始化 (建立時初始化, 更新時不修改時間)
ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP
- 只做自動更新 (建立時不做初始化動作)
ts TIMESTAMP DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP
- 全都不做(使用這個的話, 或許直接用 DATETIME 的型態 似乎比較方便?)
ts TIMESTAMP DEFAULT 0
沒有留言:
張貼留言