这篇文章主要介绍如何处理MySQL多个timestamp字段自动添加默认值的问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

MySQL版本5.6.14

建表语句

drop table live_shrimp_info;

CREATE TABLE `live_shrimp_info` (

`LiveID` bigint(20) NOT NULL COMMENT '直播ID',

`SummonStartTime` timestamp(3) NOT NULL COMMENT '召唤期开始时间',

`SummonEndTime` timestamp(3) NOT NULL COMMENT '召唤期结束时间',

`CaptureStartTime` timestamp(3) NOT NULL COMMENT '捕获期开始时间',

`CaptureEndTime` timestamp(3) NOT NULL COMMENT '捕获期结束时间',

`CreateTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',

`UpdateTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',

PRIMARY KEY (`LiveID`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ;



建表之后,使用 show create tablelive_shrimp_info; 查询


CREATE TABLE `live_shrimp_info` (

`LiveID` bigint(20) NOT NULL COMMENT '直播ID',

`SummonStartTime` timestamp(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3) COMMENT '召唤期开始时间',

`SummonEndTime` timestamp(3) NOT NULL DEFAULT '0000-00-00 00:00:00.000' COMMENT '召唤期结束时间',

`CaptureStartTime` timestamp(3) NOT NULL DEFAULT '0000-00-00 00:00:00.000' COMMENT '捕获期开始时间',

`CaptureEndTime` timestamp(3) NOT NULL DEFAULT '0000-00-00 00:00:00.000' COMMENT '捕获期结束时间',

`CreateTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',

`UpdateTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',

PRIMARY KEY (`LiveID`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4


纳尼?怎么多了这么多默认值?
这就是MySQL搞笑所在,它认为你缺个默认值..就帮你加上了

第一个timestamp且not null的字段,MySQL会自动加上
DEFAULT CURRENT_TIMESTAMP() ON UPDATE CURRENT_TIMESTAMP()
其他timestamp且not null的字段,MySQL会自动加上
DEFAULT '0000-00-00 00:00:00'

以上是“如何处理MySQL多个timestamp字段自动添加默认值的问题”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!