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