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
到此这篇关于MySQL如何设置动态创建时间(create_time)和修改时间(update_time)的文章就介绍到这了,更多相关MySQL create_time update_time内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
SUSE Linux下源码编译方式安装MySQL 5.6过程分享
这篇文章主要介绍了SUSE Linux下源码编译方式安装MySQL 5.6过程分享,本文使用SUSE Linux Enterprise Server 10 SP3 (x86_64)系统,需要的朋友可以参考下2014-09-09
SELECT INTO 和 INSERT INTO SELECT 两种表复制语句详解(SQL数据库和Oracle数据库的
我们经常会遇到需要表复制的情况,如将一个table1的数据的部分字段复制到table2中,或者将整个table1复制到table2中,这时候我们就要使用SELECT INTO 和 INSERT INTO SELECT 表复制语句了2019-03-03


最新评论