记一次 Mysql 日期使用不当造成的 bug

众所周知, MySQL 中有多处表示日期的数据类型:YEAR、TIME、DATE、DTAETIME、TIMESTAMP。当只记录年信息的时候,可以只使用 YEAR 类型。

每一个类型都有合法的取值范围,当指定确定不合法的值时,系统将“零”值插入数据库中。

下表中列出了 MySQL 中的日期与时间类型。

在这里插入图片描述
由于我在存储 生日 字段的时候,数据库不恰当的选取了 timestamp 字段,所以在我的生日字段在小于 1980 的时候就会报错:

java.sql.BatchUpdateException: Data truncation: Incorrect datetime value: '1968-02-14 00:00:00.0' for column 'birthday' at row 1

MySQL 中 生日字段改为 DATE 类型就好了

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 程序猿惹谁了 设计师:上身试试 返回首页