MySQL 管理运维:妙用 DATETIME 数据类型的默认值
MySQL 中的日期 DATE
和时间 TIME
类型在数据库设计和数据处理中扮演着至关重要的角色。
日期和时间数据类型允许我们存储日期、时间或日期时间值,为数据查询、排序和计算提供了便利。
在 MySQL 中,有多种日期和时间类型,如:DATE
, TIME
, DATETIME
, TIMESTAMP
和 YEAR
。
本文将以 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'