MySQL 自动添加系统时间
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示例,如图:
运行添加信息命令,观察创建时间和修改时间,均为当前运行时间,如图:
执行update命令后,查看再次修改时间如图:
总结:字段默认值 当添加新内容时设置CURRENT_TIMESTAMP时,对应的时间会填充当前时间,但时间保持不变。如果默认值设置为CURRENT_TIMESTAMP IN UPDATE CURRENT_TIMESTAMP,当添加新内容时,对应的时间将会被填充。是现在时。更改时,时间也会更新为当前修改时间
注:也可以将上面创建的表的字段类型从timestamp改为datetime。 COMMENT就是评论的意思。你就可以知道这个字段的作用了。
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。