当前位置: 代码网 > it编程>数据库>Mysql > 解决MySQL查询报错:mysql:Zero date value prohibited问题

解决MySQL查询报错:mysql:Zero date value prohibited问题

2025年06月05日 Mysql 我要评论
1、msql查询操作时报以下错误org.springframework.dao.transientdataaccessresourceexception: error attempting to ge

1、msql查询操作时报以下错误

org.springframework.dao.transientdataaccessresourceexception: error attempting to get column 'pay_time' from result set.  cause: java.sql.sqlexception: zero date value prohibited; 

2、原因

数据库中数据存在的时间类型datetime / timestamp的值为’0000-00-00 00:00:00’

3、解决办法

在连接数据库时的连接地址加上zerodatetimebehavior=convert_to_null。

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/test?usessl=false&unicode=true&characterencoding=utf-8
&servertimezone=asia/shanghai&zerodatetimebehavior=convert_to_null

zerodatetimebehavior的值有以下三种:

  • exception:默认值,会抛出异常。
  • convert_to_null:将出错的那个0000-00-00字段的值转为null。
  • round:替换成最近的日期,转成0001-01-01 00:00:00

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com