mysql timestamp类型比较_MySQL 的 timestamp 和 datetime 类型比较

前言

最近做项目的时候,发现对mysql的timestamp 和datetime 的区别认识不清,所以建了一个测试表,测试了一下区别。另外,我在社区搜索相关文章时,没有发现针对性的文章,所以写出来。

测试环境

mysql 5.7 + phpmyadmin

测试步骤

插入数据时,timestamp 和 datetime的表现

更新数据时,timestamp 和 datetime的表现

更改mysql 的time_zone 值,timestamp 和 datetime的表现

测试数据表

mysql timestamp类型比较_MySQL 的 timestamp 和 datetime 类型比较_第1张图片

其中字段datetime1 是datetime类型, 字段timestamp1, timestamp2, timestamp3 是timestamp类型。

有以下区别:

datetime类型 可以设置默认值,也可以不设置

第一个timestamp类型的默认值自动变为 CURRENT_TIMESTAMP, 约束为 ON UPDATE CURRENT_TIMESTAMP 。CURRENT_TIMESTAMP 是mysql 的变量,值是当前时间。

其他timestamp类型的默认值自动变为0000-00-00 00:00:00

字段默认值调整

为了有差异,我把字段timestamp3 的默认值更改为 CURRENT_TIMESTAMP。这样, 字段t

你可能感兴趣的:(mysql,timestamp类型比较)