mysql的时间字段 DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'

在创建时间字段的时候

DEFAULT CURRENT_TIMESTAMP
表示当插入数据的时候,该字段默认值为当前时间

ON UPDATE CURRENT_TIMESTAMP
表示每次更新这条数据的时候,该字段都会更新成当前时间

这两个操作是mysql数据库本身在维护,所以可以根据这个特性来生成【创建时间】和【更新时间】两个字段,且不需要代码来维护

如下:

CREATE TABLE `mytest` (
    `text` varchar(255) DEFAULT ‘‘ COMMENT ‘内容‘,
    `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT ‘创建时间‘,
    `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT ‘更新时间‘
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

可以通过navicat的可视化界面直接操作

那么如何设置一个具体的默认时间呢?

如下,注意有两个单引号

TIMESTAMP DEFAULT ‘yyyy-mm-dd hh:mm:ss‘

mysql的时间字段 DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'

原文地址:https://www.cnblogs.com/lexiaofei/p/10454501.html

时间: 2024-08-29 13:11:41

mysql的时间字段 DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'的相关文章

mysql 5.5与5.6 timestamp 字段 DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP的区别

http://www.111cn.net/database/mysql/55392.htm 本文章来给各位同学介绍关于mysql 5.5与5.6 timestamp 字段 DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP的区别,希望此教程对各位有帮助. mysql5.6数据库:  代码如下 复制代码 [BIGHD]([email protected]) [cm]> SELECT version(); +------------+ | ve

时间字段的类型用时间戳整型还是时间类型

不管做什么项目,必须都得接触的东西就是时间类型.现在用时间戳存储日期数据(整型存储)已经是业界很平常的的事情,网上各大游戏公司,各大开源都是采取整型时间戳存储.整数存日期好处很多,程序判断直读,扩展性好,随意可转换xml,json等格式.不过有一个最大的缺点就是查数据库不直观,也就是说我们用管理工具打开数据库的时候,看到的是一堆数字,维护数据不方便.为了解决这一缺陷,我找到一方法,先上代码: select *,DATE_FORMAT(FROM_UNIXTIME(datetimed/1000),"

两张表A和B,各有一个字段,更新时间A.MODIFIED_TM和B.MODIFIED_TM,A表为主表,更新时间不为空,但是B表更新时间可能为空,现在要取A、B两表时间最新的那个,B.MODIFIED

问题描述: 两张表A和B,各有一个字段,更新时间A.MODIFIED_TM和B.MODIFIED_TM,A表为主表,更新时间不为空,但是B表更新时间可能为空,现在要取A.B两表时间最新的那个,B.MODIFIED_TM若为空就取A.MODIFIED_TM,例如: 表A ID    MODIFIED_TM 1     2013/3/10 18:07:12 2     2013/4/10 18:07:12 3     2013/5/10 18:07:12 表B ID    MODIFIED_TM 1

mysql(自动添加系统时间)timestamp类型字段的CURRENT_TIMESTAMP与ON UPDATE CURRENT_TIMESTAMP属性

timestamp有两个属性,分别是CURRENT_TIMESTAMP 和ON UPDATE CURRENT_TIMESTAMP两种,使用情况分别如下: 1.CURRENT_TIMESTAMP 当要向数据库执行insert操作时,如果有个timestamp字段属性设为 CURRENT_TIMESTAMP,则无论这个字段有木有set值都插入当前系统时间 2.ON UPDATE CURRENT_TIMESTAMP 当执行update操作是,并且字段有ON UPDATE CURRENT_TIMESTA

mysql timestamp类型字段的CURRENT_TIMESTAMP与ON UPDATE CURRENT_TIMESTAMP属性

timestamp有两个属性,分别是CURRENT_TIMESTAMP 和ON UPDATE CURRENT_TIMESTAMP两种,使用情况分别如下: 1.CURRENT_TIMESTAMP 当要向数据库执行insert操作时,如果有个timestamp字段属性设为 CURRENT_TIMESTAMP,则无论这个字段有木有set值都插入当前系统时间 2.ON UPDATE CURRENT_TIMESTAMP 当执行update操作是,并且字段有ON UPDATE CURRENT_TIMESTA

Mysql 如何设置字段自动获取当前时间

应用场景: 1.在数据表中,要记录每条数据是什么时候创建的,不需要应用程序去特意记录,而由数据数据库获取当前时间自动记录创建时间: 2.在数据库中,要记录每条数据是什么时候修改的,不需要应用程序去特意记录,而由数据数据库获取当前时间自动记录修改时间: 实现方式: 1.将字段类型设为  TIMESTAMP  2.将默认值设为  CURRENT_TIMESTAMP 举例应用: 1.MySQL 脚本实现用例 --添加CreateTime 设置默认时间 CURRENT_TIMESTAMP  ALTER

mysql 导入数据error 1067(42000) Invalid default value for 'update'

问题描述:mysql导入数据时出现error 1067错误. 1 首先找到要出错行:CREATE TABLE `fct_sales` ( `updateTime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间') ENGINE=InnoDB DEFAULT CHARSET=utf8; 2 搜索datetime 与current_timestamp 的用法 3 修改datetime--timestamp 或者删除 default

mysql字段值自动更新时间

在生产环境中可能会出现,项目已经上线,但是更新时间的字段没有赋值,也就是说这条数据每次更新时,更新的时间依旧是null.为了解决这个问题,一般是将程序更新数据时,把更新时间给更新了.但是上线后更改程序需要重新升级,挺麻烦.现在可以通过修改更新时间的字段,来保证每次更新数据时,数据的更新时间自动更新. 在一个已经建好的表执行如下sql即可完成更新时间自动更新: ALTER TABLE checker_barcode MODIFY COLUMN update_time TIMESTAMP NOT N

Mysql 如何设置字段自动获取当前时间,附带添加字段和修改字段的例子

--添加CreateTime 设置默认时间 CURRENT_TIMESTAMP  ALTER TABLE `table_name`ADD COLUMN  `CreateTime` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间' ; --修改CreateTime 设置默认时间 CURRENT_TIMESTAMP ALTER TABLE `table_name`MODIFY COLUMN  `CreateTime` datetime NU