[英]confusion between DateTime and TimeStamp in Mysql
我正在使用mysql,並且在所有表中都有四個字段,
created_by varchar(128)
created_on timestamp default current_timestamp
updated_by varchar(128)
updated_on timestamp default current_timestamp
我已經閱讀了關於堆棧溢出的不同答案,每次在表行上執行某些操作時,默認值為current_timestamp
的字段會自動更新。 但我想created_on
在更新新記錄時自動插入current_timestamp
,並且在一段時間后更新此記錄時,只有updated_by字段自動更新為current_timestamp
而不是created_by
。
created_by varchar(128)
created_on timestamp default current_timestamp
updated_by varchar(128)
updated_on timestamp default current_timestamp ON UPDATE CURRENT_TIMESTAMP
更多信息:: http://dev.mysql.com/doc/refman/5.6/en/timestamp-initialization.html
我用這個結構:
created_by varchar(128)
created_on timestamp NOT NULL DEFAULT '0000-00-00 00:00:00'
updated_by varchar(128)
updated_on timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
在第一次INSERT INTO
使用NOW()
for created_on
。 之后修改行將始終自動更新updated_on
字段。 對於UPDATE
語句,根本不需要觸及TIMESTAMP
列。 (注意:只有在確實更新某些內容時才會更新時間戳.IE。使用現有值更新列不會修改任何內容,因此時間戳不會更新。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.