文档章节

Cannot convert value '0000-00-00 00:00:00' from column 1 to TIMESTAMP分析及解决办法

思维80
 思维80
发布于 2015/06/16 19:43
字数 312
阅读 17
收藏 0

在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'。

解决方案 1.String url = "jdbc:mysql://localhost:3306/test?relaxAutoCommit=true&zeroDateTimeBehavior=convertToNull";

注意符号"&"如果不成功的话, 需要转换成特定的字符,如下表所示,即把"&"转换为&

在xml文件中有以下几类字符要进行转义替换:

<

<

小于号

&gt;

>

大于号

&amp;

&

&apos;

'

单引号

&quot;

"

双引号

 

本文转载自:http://blog.csdn.net/u012151556/article/details/46522389

共有 人打赏支持
思维80
粉丝 8
博文 111
码字总数 42366
作品 0
西安
程序员
Cannot convert value '0000-00-00 00:00:00' from co

问题:MySQL数据库,如果数据库中日期字段为空为值为'0000-00-00 00:00:00"时,查询的时候回报:Cannot convert value '0000-00-00 00:00:00' from column 10 to TIMESTAMP 解决办法: 更改连接...

Coder_葉
2016/03/22
39
0
java连接MySql数据库 zeroDateTimeBehavior

链接:http://2820354.blog.51cto.com/2810354/793574 JAVA连接MySQL数据库,在操作值为0的timestamp类型时不能正确的处理,而是默认抛出一个异常,就是所见的:java.sql.SQLException: Cann...

Atom_me
2015/07/16
4.2K
0
Cannot convert value '0000-00-00 00:00:00' from column XX to TIMESTAMP.

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

java小愤青
2013/05/03
1K
2
zeroDateTimeBehavior=convertToNull

针对以下这个,我觉得这样做是可取的: 3)每个字段尽量设置不可为空,对于有些业务比如订单的出仓时间确实需要等到出仓扫描时才有值的可以允许为空; 供参考的解决方案: 全部字段都设置为n...

之渊
2016/09/17
49
0
ERROR 1067 (42000): Invalid default value for 'end_time'

版本:mysql5.7 执行sql: CREATE TABLE seckill( BIGINT NOT NUll AUTO_INCREMENT COMMENT '商品库存ID', VARCHAR(120) NOT NULL COMMENT '商品名称', int NOT NULL COMMENT '库存数量', TIME......

sun2shadows
2017/09/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

内存模型是怎么解决缓存一致性的?

在再有人问你Java内存模型是什么,就把这篇文章发给他。这篇文章中,我们介绍过关于Java内容模型的来龙去脉。 我们在文章中提到过,由于CPU和主存的处理速度上存在一定差别,为了匹配这种差距...

Java填坑之路
13分钟前
1
0
vue-cli 3.0 初体验

最近复习了下vue,突然发现vue-cli已经更新到3.0版本了,并且变化蛮大,看来要不停的学习,真是一入前端深似海。 安装步骤: 1、全局安装 npm install -g @vue/cli Vue CLI 的包名称由 vue-...

tianyawhl
15分钟前
0
0
Angular进阶之路

【初级】会写页面,能出东西。 给定环境和 rest API,不用第三方库,能在十分钟内完成一个 master/detail 结构的带路由的应用(可以不管美观)。 知识点:Angular CLI、组件、路由、HTTP 服务...

陆小七的主页
17分钟前
0
0
Redis缓存数据库安全加固指导(一)

背景 在众多开源缓存技术中,Redis无疑是目前功能最为强大,应用最多的缓存技术之一,参考2018年国外数据库技术权威网站DB-Engines关于key-value数据库流行度排名,Redis暂列第一位,但是原生...

中间件小哥
18分钟前
0
0
百万级数据mysql分区

1. 什么是表分区? 表分区,是指根据一定规则,将数据库中的一张表分解成多个更小的,容易管理的部分。从逻辑上看,只有一张表,但是底层却是由多个物理分区组成。 2. 表分区与分表的区别 分表...

罗文浩
20分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部