MySQL如何為欄位新增預設時間淺析
阿新 • • 發佈:2020-01-09
日期型別區別及用途
MySQL 的日期型別有5個,分別是: date、time、year、datetime、timestamp。
型別 | 位元組 | 格式 | 用途 | 是否支援設定系統預設值 |
---|---|---|---|---|
date | 3 | YYYY-MM-DD | 日期值 | 不支援 |
time | 3 | HH:MM:SS | 時間值或持續時間 | 不支援 |
year | 1 | YYYY | 年份 | 不支援 |
datetime | 8 | YYYY-MM-DD HH:MM:SS | 日期和時間混合值 | 不支援 |
timestamp | 4 | YYYYMMDD HHMMSS | 混合日期和時間,可作時間戳 | 支援 |
應用場景:
- 在資料表中,要記錄每條資料是什麼時候建立的,不需要應用程式去特意記錄,而由資料資料庫獲取當前時間自動記錄建立時間;
- 在資料庫中,要記錄每條資料是什麼時候修改的,不需要應用程式去特意記錄,而由資料資料庫獲取當前時間自動記錄修改時間;
實現方式:
- 將欄位型別設為 TIMESTAMP
- 將預設值設為 CURRENT_TIMESTAMP
舉例應用:
MySQL 指令碼實現用例
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '建立時間',`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新時間',`datalevel` tinyint(1) DEFAULT '1' COMMENT '是否已刪除(0刪除/1正常)',ALTER TABLE table_name ADD COLUMN create_time datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '建立時間'; ALTER TABLE table_name ADD COLUMN update_time datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新時間'; ALTER TABLE table_name ADD COLUMN datalevel tinyint(1) DEFAULT '1' COMMENT '是否已刪除(0刪除/1正常)';
MySQL建立普通索引
ALTER TABLE projectfile ADD INDEX (fileuploadercode,projectid);
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對我們的支援。