gpt4 book ai didi

java - 某些服务器上的 MySQL 数据截断错误

转载 作者:行者123 更新时间:2023-11-28 23:30:34 25 4
gpt4 key购买 nike

我已经进行了大量的互联网搜索,但找不到与此类似的问题的报告,所以我希望这里的人可能知道出了什么问题。在我的 java 代码中,我有一个从数据库中提取数据的查询。我已经确认 SQL 格式正确,并且我在这个 java 文件中的所有其他查询都运行良好。事实上,当我使用开发测试 Tomcat 服务器时,即使这个查询也能正常运行。但是,当我尝试使用开发测试 Resin 服务器(直到最近它运行良好)或也使用 Tomcat 的 QA 测试服务器运行此特定查询时,我收到此错误:

com.mysql.jdbc.MysqlDataTruncation:数据截断:不正确的日期时间值:'131500'

我假设“131500”来自返回的第一个日期时间值的时间部分,即“13:15:00”。此查询中导致问题的特定部分是这一行:

CONCAT(DATE_FORMAT((SELECT datenotime), '%Y-%m-%d'),' ',DATE_FORMAT((SELECT appointmenttime FROM appointments WHERE appointmentdate = datenotime AND appointments.service_id = service.id) , '%T'))

如果我删除它,那么我在任何服务器上都不会遇到任何问题,所以它只会在时间被格式化和连接时发生。我认为这里的问题一定是某些服务器设置?尽管据我所知最近没有对 Resin 服务器进行更改。我尝试更新 Resin 的 msyql 连接器 jar,但这没有帮助。有谁知道出了什么问题吗?

谢谢!

最佳答案

我的猜测是当 datenotime 为 null 时您会收到此错误。

这是有道理的,因为您要串联 datenotime 和 appointmenttime。如果 datenotime 为空,则剩下的就是时间,无法将其转换为任何已知的日期时间值。

关于java - 某些服务器上的 MySQL 数据截断错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30803195/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com