回答
這是timestamp柱類型的默認功能。但是,請注意,此類型的格式爲yyyymmddhhmmss(全數字,無冒號或其他分隔)。
編輯:以上關於格式的註釋是唯一真正的MySQL < 4.1版本......後來的版本格式化它像一個日期時間
IIRC,在timestamp類型的表中的第一列在創建記錄時不可更改時設置。類型時間戳的第二列在記錄更新時設置。或相反亦然。
我沒有做太多的MySQL工作,所以你要驗證這一點。
您可以像提到的其他海報一樣使用時間戳列。下面是SQL你可以用它來在添加列:
ALTER TABLE `table1` ADD `lastUpdated` TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ;
這增加了一個名爲「LASTUPDATED」與當前的日期/時間的默認值列。當記錄更新時(可以說5分鐘後)時間戳會自動更新到當前時間。
以下看起來已足夠: ALTER TABLE`table1` ADD`lastUpdated` TIMESTAMP; – 2008-10-02 14:44:14
MySQL時間戳只有在其默認值被設置爲創建或更新時間時纔會設置。 ALTER TABLE some_table ADD when TIMESTAMP DEFAULT CURRENT_TIMESTAMP
。
否則它就像DateTime字段一樣工作,只是它相對於1970/01/01 UTC,所以它是絕對時間點,不像DateTime那樣依賴於特定的時區。
這是我所觀察到的東西(的MySQL 5.7.11) -
在表中的第一個TIMESTAMP列獲取當前時間戳作爲缺省值。因此,如果您在不提供值的情況下執行INSERT或UPDATE,則該列將獲取當前時間戳。
任何後續的TIMESTAMP列都應該有明確定義的默認值。如果您有兩個TIMESTAMP列,並且您沒有爲第二列指定默認值,則在嘗試創建表格時會出現此錯誤 -
錯誤1067(42000):'COLUMN_NAME'的默認值無效
- 1. MySQL的時間戳.NET時間戳
- 2. Mysql的多個時間戳列更新
- 3. 時間戳/時區/ PHP/MySQL
- 4. php時間戳之間的區別?或MySQL的時間戳?
- 5. 時間戳陣列
- 6. sqlite3時間戳列
- 7. mysql時間戳或日期時間
- 8. MYSQL:轉換時間戳 - >時間
- 9. NHibernate和MySQL的時間戳
- 10. MySQL時間戳錯誤
- 11. ORDER BY MySQL和時間戳
- 12. MySQL的時間戳問題
- 13. MySQL表修改時間戳
- 14. Mysql時間戳默認值
- 15. MySQL時間戳查詢
- 16. MySQL比microtime時間戳大
- 17. MySQL的時間戳選擇
- 18. mysql時間戳查詢
- 19. MySQL - 保存JSON時間戳
- 20. UNIX時間戳到MySQL DATETIME
- 21. Mysql時間戳查詢
- 22. MySQL時間戳字段
- 23. 比較mysql時間戳
- 24. MySql,結合日期和時間列到時間戳
- 25. 轉換Unix紀元時間戳到MySQL時間戳PHP
- 26. 與mysql時間戳不同的Rails時間戳
- 27. 將Java時間戳轉換爲MySQL時間戳反之亦然
- 28. 的Javascript時間戳的PHP - MySQL的時間戳型
- 29. 時間戳比較刪除當MySQL時間戳>20分鐘
- 30. 比較當前的時間戳與mysql存儲的時間戳
根據MySQL 5.0文檔,時間戳類型與日期時間格式相同(例如'YYYY-MM-DD HH:MM:SS')。 – 2008-09-30 20:58:41