首页 > 其他 > 详细

Data truncation: Data too long for column错误分析

时间:2014-09-13 03:03:15      阅读:305      评论:0      收藏:0      [点我收藏+]

有一次遇到mysql jdbc抛出异常

Data truncation: Data too long for column

经过思考,发现原因可能有两种:

一、字段长度不够。

可以考虑选择更长的字段,例如:

VARCHAR->TEXT->MEDIUMTEXT->LONGTEXT->LONGBLOB

另外mysql貌似没有nvarchar类型


二、数据源URL中的字符集选项跟数据库表的实际字符集不统一

如果是统一的话,Java代码的写法应该是:

String driverName = "com.mysql.jdbc.Driver";

String dbURL = "jdbc:mysql://localhost:3306/cmsproj?useUnicode=true&characterEncoding=utf-8";


而数据表的创建方式是

CREATE TABLE xxx

( ...

) ENGINE=MyISAM DEFAULT CHARSET=utf8 


注意:

* 数据库也可以指定字符集,但如果在create table中使用默认字符集,则create table更优先。

* Java代码在编译时使用utf8还是gbk不会有影响,只要传入的参数不是乱码就可以。


其实不统一字符集的话也是可以工作,只是有一定概率会抛出Data truncation异常,例如URL中指定了utf8字符集,而创建表不指明utf8字符集或者使用缺省latin字符集,则有可能抛出异常。



本文出自 “weimingtom的以心伝心” 博客,请务必保留此出处http://weimingtom.blog.51cto.com/5787478/1551786

Data truncation: Data too long for column错误分析

原文:http://weimingtom.blog.51cto.com/5787478/1551786

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!