# MySQL创建时间与修改时间字段自动设置

1. 新建表时，自动设置创建数据行时间与修改数据行时间
    

```sql
CREATE TABLE `test` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
  `task_id` varchar(20) COLLATE utf8_bin NOT NULL COMMENT '任务id',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_bin
```

2. 更新字段
    

```sql
ALTER TABLE 表名 MODIFY COLUMN 列名 datetime DEFAULT CURRENT_TIMESTAMP NOT NULL;
ALTER TABLE 表名 MODIFY COLUMN 列名 datetime DEFAULT CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP NOT NULL;
```

———————————————— 版权声明：

本文为CSDN博主「kobe\_OKOK\_」的原创文章，遵循CC 4.0 BY-SA版权协议，转载请附上原文出处链接及本声明。 原文链接：[https://blog.csdn.net/kobe\_okok/article/details/124141900](https://blog.csdn.net/kobe_okok/article/details/124141900)
