[PHP]MYSQL自動加入Datetime方法

Insert時自動存入當前Datetime的方法

午餐前的工作告一段落,來分享一下早上的心得吧~

以往在寫PHP的時候,想在insert時自動連時間一起存起來,即為欄位設定預設值,一般MSSQL或Accces裡可以直接下函式解決,所以很直接的在MYSQL中去設定Now()函式想完成這個需求,沒想到出現了錯誤!

怪咧,不合理的預設值嗎??趕快來查一下MYSQL文件 :

"The DEFAULT value  clause in a data type specification indicates a default value for a
column. With one exception, the default value must be a constant; it cannot be a function
or an expression. This means, for example, that you cannot set the default for a date
column to be the value of a function such as NOW()  or CURRENT_DATE."

 

所以MYSQL不能加入函式當預設值囉...真是討人厭啊!!!沒關係還有別招,我們改改資料型態,把datetime改成timestamp型態!!

這時把預設值改為 CURRENT_TIMESTAMP  !

這樣一來,會在新增一筆時自動加入當前時間,達成需求~也就不用擔心時間的問題了,畢竟少寫少錯嘛devil

 

順便分享一下在MSSQL跟ACCESS中如何設定時間預設值吧

MS-SQL : (getdate())

ACCESS : Now()

 

 

就這樣囉!祝大家午餐愉快 :)

分享


站作網站設計工作室 SiteMak Studio
Shinyo Ho 
Founder / Developer
email:shinyo.her@gmail.com|web:www.sitemak.com.tw