四种mysql数据类型
mysql | java | 格式 |
date | Date | 2018-10-10 |
time | Time | 18:20:21 |
datetime | TimeStamp | 2018-10-10 18:20:21 |
timestamp | TimeStamp | 2018-10-10 18:20:21 |
datetime和Timestamp 的差别
两者都可用来表示YYYY-MM-DD HH:MM:SS,但是两者是有一定区别的。
1.datetime默认是null的 但是timestamp默认是当前时间的值,如果更新的时候没有指定这个字段的值,那么会默认更新为当前的值。
2.timestamp存储时间的时候会把当前时间转化为当前时区的时间,并且查询的时候也会根据时区进行转化。但是datetime不会对时期的值做任何处理。
3.两者所能存储的时间范围不一样
timestamp所能存储的时间范围为:’1970-01-01 00:00:01.000000’ 到 ‘2038-01-19 03:14:07.999999’;
datetime所能存储的时间范围为:’1000-01-01 00:00:00.000000’ 到 ‘9999-12-31 23:59:59.999999’。
4.如何制定datetime自动设置当前时间和自动更新时间
ADD COLUMN `CreateTime` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间' ;
MODIFY COLUMN `UpdateTime` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间' ;