记一次 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 类型就好了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值