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 !
這樣一來,會在新增一筆時自動加入當前時間,達成需求~也就不用擔心時間的問題了,畢竟少寫少錯嘛
順便分享一下在MSSQL跟ACCESS中如何設定時間預設值吧
MS-SQL : (getdate())
ACCESS : Now()
就這樣囉!祝大家午餐愉快 :)
|