MySQL 管理运维:妙用 DATETIME 数据类型的默认值

MySQL 中的日期 DATE 和时间 TIME 类型在数据库设计和数据处理中扮演着至关重要的角色。
日期和时间数据类型允许我们存储日期、时间或日期时间值,为数据查询、排序和计算提供了便利。
在 MySQL 中,有多种日期和时间类型,如:DATE, TIME, DATETIME, TIMESTAMPYEAR

本文将以 DATETIME 数据类型为线索,介绍几种常用的时间类型的默认值用法,并介绍一则案例。

1. 默认值为 0 或 NULL

DATETIME 设置为 0 表示无效时间格式,默认情况下 MySQL 并不允许这种情况,如果这样设定会报错。

(root@localhost) [yandb]> create table t ( -> a int, -> d1 datetime, -> d2 datetime default 0, -> d3 datetime default null -> ); ERROR 1067 (42000): Invalid default value for 'd2' Error (Code 1292): Incorrect datetime value: '0' for column 'd2' at row 1 Error (Code 1067): Invalid default value for 'd2'