MySQL: MySQL设置动态的创建时间(create_time)和修改时间(update_time)
我这里用的是Navicat,直接在字段属性修改
这个适用于5.7及更高版本,5.7之前的版本会出现问题~~
当前时间戳:CURRENT_TIMESTAMP
一般情况下,创建时间、修改时间都是用datetime类型;
datetime类型在没有默认值的情况下是不会自动赋值的;
在开发阶段,不想传这两个值,但又想不为null,所以就需要用到CURRENT_TIMESTAMP这个参数。
创建时间:
一般是在创建数据时才会赋值,使用SQL的话,就需要在字段上添加默认值: DEFAULT CURRENT_TIMESTAMP(0)
使用Navicat的情况下,就需要添加CURRENT_TIMESTAMP为默认值。
修改时间:
一般是在创建数据、修改数据时才会赋值,使用SQL的话,就需要在字段上添加默认值:
DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0)
使用Navicat的情况下,就需要添加CURRENT_TIMESTAMP为默认值,并且标记“ 根据当前时间戳更新 ”,
这样才能实现只要数据发生变化就会自动修改时间
创建时间
修改时间
数据表结构
CREATE TABLE `sys_user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间', `update_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '修改时间', PRIMARY KEY (`id`) USING BTREE ) AUTO_INCREMENT = 1