MySQL 數(shù)據(jù)庫可以通過定義特定字段的格式,自動添加入庫時間。為了實現(xiàn)這一功能,需要在創(chuàng)建數(shù)據(jù)表時增加一個類型為 TIMESTAMP 的字段,并設(shè)置其默認值為 CURRENT_TIMESTAMP。
CREATE TABLE my_table ( id INT(11) NOT NULL AUTO_INCREMENT, name VARCHAR(50) NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY(id) );
其中,created_at 是數(shù)據(jù)入庫時自動添加的時間,updated_at 是數(shù)據(jù)更新時自動更新的時間。通過這樣的設(shè)置,可以方便地保存每條數(shù)據(jù)的時間信息,防止出現(xiàn)數(shù)據(jù)操作不當導致時間信息混亂的問題。
在實際使用中,如果想要修改數(shù)據(jù)的時間信息,可以通過 SQL 語句來實現(xiàn)。
UPDATE my_table SET updated_at = NOW() WHERE id = 1;
通過將 NOW() 函數(shù)作為值傳遞給 updated_at 字段,可以將該字段的值更新為當前時間。
除了 TIMESTAMP 類型外,還有 DATETIME 類型可以用于保存時間信息。不同的是,TIMESTAMP 類型支持的時間范圍更廣(從 1970 年到 2038 年),并且占用的空間更小。同時,TIMESTAMP 類型也比 DATETIME 更容易進行格式化和計算。