SQL | 創建時間,更新時間,使用默認值自動設置

在數據庫表設計中,經常會使用到創建時間字段和更新時間字段,我們可以爲表中的字段設置相應的默認值,實現添加數據時創建時間字段的值自動爲當前創建該數據的時間,更新數據時更新時間字段的值自動爲當前更新該數據的時間。
這樣可以減少後端代碼的操作,將壓力轉換到數據庫上。

SQL語句如下:

ALTER TABLE 表名
    ADD (
        `create_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '創建時間',
        `update_time` TIMESTAMP not null DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改時間'
        );

根據時間段查詢(Timestamp類型)-Java

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
Timestamp _start = new Timestamp(simpleDateFormat.parse(start).getTime());
Timestamp _over = new Timestamp(simpleDateFormat.parse(over).getTime());

獲取當前時間(Timestamp類型)-Java

new Timestamp(System.currentTimeMillis())

這裏有個坑:
MySQL5.5只支持一張表有且僅有一個字段默認值爲CURRENT_TIMESTAMP
MySQL5.6及以上才支持一張表的兩個及以上字段支持同時默認值爲CURRENT_TIMESTAMP

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章