Code前端首页关于Code前端联系我们

MySQL 自动添加系统时间

terry 2年前 (2023-09-26) 阅读数 46 #后端开发

MySQL 时间类型如下:

  • DATE 类型:存储年、月、日
  • TIME 类型:存储时、分、秒
  • DATETIME 类型:存储 YYYY-MM -DD HH:MM :SS
  • TIMESTAMP类型:存储YYYYMMDD HHMMSS

使用mysql数据库时常用的类型有date和datetime

datetime和timestamp有什么区别?

  • 两者都可以用来记录:年、月、日、时、分、秒,都可以是毫秒精度,例如:datetime(3)、timestamp(3)都是三毫秒精度
  • timestamp是比较适合业务之间的时区,mysql5.6.4以后的版本可以精确到毫秒并且可以指定

mysql时间类型有两个属性分别是CURRENT_TIMESTAMP和ON UPDATE CURRENT_TIMESTAMP。使用条款如下:

1、CURRENT_TIMESTAMP:

如果时间戳字段的属性设置为CURRENT_TIMESTAMP,则在添加到数据库时,都会添加当前系统时间,无论是否设置了值该字段已添加。

2,更新 CURRENT_TIMESTAMP

在更新期间执行且该字段具有 UPDATE CURRENT_TIMESTAMP 属性。无论该字段的值是否发生变化,其值也会在当前 UPDATE 操作时更新

例如:创建表名时设置创建时间和修改时间字段:

CREATE TABLE `example` (`id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'ID信息',`name` varchar(100) NOT NULL DEFAULT "" COMMENT '姓名',`age`  int  NOT NULL COMMENT '年龄',`created` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`modified` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;

显示表结构,desc示例,如图:

MySQL自动添加系统时间

运行添加信息命令,观察创建时间和修改时间,均为当前运行时间,如图:

MySQL自动添加系统时间

执行update命令后,查看再次修改时间如图:

MySQL自动添加系统时间

总结:字段默认值 当添加新内容时设置CURRENT_TIMESTAMP时,对应的时间会填充当前时间,但时间保持不变。如果默认值设置为CURRENT_TIMESTAMP IN UPDATE CURRENT_TIMESTAMP,当添加新内容时,对应的时间将会被填充。是现在时。更改时,时间也会更新为当前修改时间

注:也可以将上面创建的表的字段类型从timestamp改为datetime。 COMMENT就是评论的意思。你就可以知道这个字段的作用了。

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门