java - 是什么导致 MariaDB 中的日期/时间字段为空或 0
问题描述
即使数据包含有效的日期/时间,进入 MariaDB 表的日期/时间值也始终为零。
这是在准备好的语句中设置值的地方:
if (updateTS != null) {
pstmt.setTimestamp(3, new java.sql.Timestamp(updateTS.getTime()));
} else {
pstmt.setTimestamp(3, new java.sql.Timestamp(System.currentTimeMillis()));
}
这是准备好的语句的 SQL。
insert into ps_qbo (action, result, update_ts, message, session_id, request, status) values(?, ?, ?, ?, ?, ?, ?)
Maria DB 版本是 5.5.56(协议版本 10)驱动程序是 Connector/J v 5.0.4。
这个完全相同的代码在另一个模块中工作,并且日期/时间值被正确插入。
这是运行时准备好的语句的示例字符串值:
insert into ps_qbo (action, result, update_ts, message, session_id, request, status) values('rollWorkCheck', 'pass', '2021-06-16 08:20:04', null, '2612db733c7531e601ed6d1795264bdd', null, 'new')
表是否可能已损坏?有哪些替代方法可以隔离问题。
解决方案
推荐阅读
- javascript - Vuejs中使用v-for显示动态幻灯片
- c++ - 重载赋值运算符函数和复制构造函数中的错误
- rust - Rust 中类数组类型的“impl 需要一个基类型”
- android - 如何在 Android 上使用 Google Cloud Text-to-Speech
- python - print(p[2 , 3])...一次选择几个字母
- javascript - TypeError:无法读取 null 的属性“购物车”
- r - 使用 Rmarkdown (pagedown) 和更改目录
- python - 如何让 Python 读取用户输入函数?(如 f(x)=2x^2+3x+1)
- c - 用于计算整数中 1 位的递归程序
- c - C程序的内存布局