首页 > 数据库 >mysql中的zeroDateTimeBehavior=convertToNull

mysql中的zeroDateTimeBehavior=convertToNull

时间:2022-12-02 11:31:26浏览次数:43  
标签:00 JDBC 0000 java zeroDateTimeBehavior ResultSet mysql convertToNull


Cannot convert value '0000-00-00 00:00:00' from column 1 to TIMESTAMP

在Mysql数据库中使用DATETIME类型来存储时间,使用JDBC中读取这个字段的时候,应该使用 ResultSet.getTimestamp(),这样会得到一个java.sql.Timestamp类型的数据。在这里既不能使用 ResultSet.getDate(),也不能使用ResultSet.getTime(),因为前者不包括time数据,后者不包括date数据。

但是在使用ResultSet.getTimestamp()时也不是完全安全的,例如,当数据库中的TIMESTAMP类型的字段值为 '0000-00-00 00:00:00'时,使用此方法进行读取,会抛出异常:Cannot convert value '0000-00-00 00:00:00' from column 1 to TIMESTAMP,这是因为JDBC不能将'0000-00-00 00:00:00'转化为一个为一个java.sql.Timestamp,在Java中,想创建一个java.util.Date,使其值为 '0000-00-00'也是不可能的,最古老的日期应该是'0001-01-01 00:00:00'。

在JDBC URL中加入zeroDateTimeBehavior信息,既可以解决:
String url = "jdbc:mysql://10.149.51.80:3306/test?relaxAutoCommit=true&zeroDateTimeBehavior=convertToNull

标签:00,JDBC,0000,java,zeroDateTimeBehavior,ResultSet,mysql,convertToNull
From: https://blog.51cto.com/u_14230175/5906770

相关文章

  • 基于docker的mysql主从同步搭建
    环境1、macbook2、docker20.10.173、dockerdesktop开始搭建*第一步:准备容器文件存放的物理文件地址目录(/Users/qeek/mydata可以按需定义)#####主库mkdir-pv......
  • mysql client命令行端的容易忽视的命令
    mysqlclient命令行端的容易忽视的命令参考:​​​http://www.mysqlperformanceblog.com/2014/02/27/dba-101-sometimes-forgotten-functionality-my......
  • (转)针对MySQL的Linux性能调优技巧[翻译]
    ​​http://mdba.cn/?p=244​​​原文作者:AlexanderRubin,Percona工程师原文连接:LinuxperformancetuningtipsforMySQL为了方面阅读,我没依照......
  • 5分钟搞定 MySQL 到 Greenplum / PostgreSQL 数据迁移同步
    简述本文主要介绍如何使用CloudCanal构建一条MySQL到Greenplum/PostgreSQL的数据同步链路。支持版本源端MySQL支持的版本为:5.6、5.7、8.X对端PostgreSQL支......
  • mysql 备忘
    scdeleteysql2.初始化mysqlmysqld--initialize--console3.初始化后得到初始密码(需要记录初始密码,后续会用到),初始密码为最后一行:'root'@'localhost'':'密码'4.安装mysql......
  • 【MySQL数据割接案例】实现按某个字段分组,再将组内的排序序号更新为排序字段的值
    事情是这样的,原本设计了一个树状结构的目录表,目录下面的节点(类似于文件)有多个类型的。由于原先只考虑一种类型A的数据,因此将目录下目录项的排序维护在了A数据表里,后面扩展......
  • Mysql中文乱码问题(unbutu)
    1.首先查看数据库里面的各种编码格式mysql>showvariableslike"%char%";+--------------------------+---------------+|Variable_name|Value|+--------------------......
  • win10下面部署Mysql数据库
    5.6.24下载地址:​​​http://down10.zol.com.cn/biancgj/mysql_5.6.24_winx64.zip​​下载完成以后解压,在安装目录下面新增my.ini,内容如下:[mysql]#设置mysql客户端默认......
  • mysql8.0使用总结
    1.初始化数据库后,想导入数据,发现报错:ERROR1227(42000)atline75612:Accessdenied;youneed(atleastoneof)theSYSTEM_USERprivilege(s)forthisoperatio......
  • Mysql服务无法启动,服务没有报告任何错误
    场景说明在Window上安装mysql5.7,安装后运行mysql,发现服务无法启动问题解决方法进入mysql的bin目录执行mysqld--initialize-insecure命令第一次执行的话,时间......