在創建時間字段的時候
DEFAULT CURRENT_TIMESTAMP
表示當插入數據的時候,該字段默認值為當前時間
ON UPDATE CURRENT_TIMESTAMP
表示每次更新這條數據的時候,該字段都會更新成當前時間
這兩個操作是mysql數據庫本身在維護,所以可以根據這個特性來生成【創建時間】和【更新時間】兩個字段,且不需要代碼來維護
如下:
CREATE TABLE `sys_dept` ( `dept_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '部門id', `dept_name` varchar(255) DEFAULT '' COMMENT '部門名稱', `sequence` int(10) DEFAULT '0' COMMENT '排序', `parent_id` bigint(20) DEFAULT '0' COMMENT '父id', `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '創建時間', `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '修改時間', `create_by` varchar(255) DEFAULT '' COMMENT '創建人', `update_by` varchar(255) DEFAULT '' COMMENT '修改人', `is_valid` tinyint(2) NOT NULL DEFAULT '1' COMMENT '邏輯有效 0.無效1.有效', `remark` varchar(255) DEFAULT '' COMMENT '備注', PRIMARY KEY (`dept_id`) ) ENGINE=InnoDB AUTO_INCREMENT DEFAULT CHARSET=utf8mb4;
可以通過navicat的可視化界面直接操作