mysql CURRENT_TIMESTAMP 和 ON UPDATE CURRENT_TIMESTAMP 属性的使用

 

1. 示例

CREATE TABLE `job` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `status` varchar(15) DEFAULT NULL COMMENT '状态 1:进行中 2 已完成 3 失败',
  `create_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `update_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

 

2. 解释说明

 insert操作时,如果有个 timestamp字段属性设为 CURRENT_TIMESTAMP,则无论这个字段有没有set值都插入当前系统时间

update操作时,如果有个 timestamp字段属性设为  ON UPDATE CURRENT_TIMESTAMP ,则在数据发生更新是该字段将自动更新时间

注: 这两个属性可以组合使用

你可能感兴趣的:(sql)