最近导入数据的时候,总是报错:java.sql.SQLException: Data truncation: Data too long for column '***' at row 1 Query,查询好久,才发现是数据库的字符集出错。整理了一下,解决方案为一下几种.。

第一种解决办法:

出自:http://www.blogjava.net/zoninge/archive/2009/04/15/265663.html感谢博主!
在页面中向mysql5.0插入中文数据时提示失败,将sql语句复制到管理器中,数据库提示data too long for column "title",我改为一个汉字,还是提示同样的信息,换成英文再试一下,正常,应该是字符集除了问题,但是数据库在建立的时候就选择的DEFAULT_CHARSET,应该是字段的问题。
将MySQL安装目录下的my.ini文件中的字符集配置如下(修改完之后,最好重启一下MySQL服务):
    [mysql]
    default-character-set=gbk
    [mysqld]
    default-character-set=gbk
或者在my.ini里找到
sql-mode=”STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION”
把其中的
STRICT_TRANS_TABLES,
去掉,然后重启mysql就ok了
    将表和字段的字符集属性都改成gbk。
    在每一次MySqlCommand Execute语句时,如果SQL语句或者参数中包含中文,或者是返回的记录集中有中文(指Select的查询语句),就在这个Execute的SQL语句之前加一个SET NAMES GBK;。

第二种解决方案:

http://www.cnblogs.com/amboyna/archive/2008/04/21/1163110.html
感谢博主!

data too long for column xxx解决方案

Update:mysql5在phpmyadmin无法连接时执行的语句:
SET PASSWORD FOR ‘root’@'localhost’ = OLD_PASSWORD(’[newpassword]‘);

刚才在导入数据的时候,navicat报错:
Data too long for column ‘ip’ at row 1
提示数据对于ip字段太长

如果数据类型不正确,也会出错,而不像4.*那样自动转换:
sendQuery:Incorrect datetime value: ‘未知’ for column ‘date’ at row 1

如果是数据x (int 11)类型的可能有些奇怪:
insert into a (x) values (’a')
出现:
Out of range value adjusted for column ‘x’ at row 1

insert into a (x) values (’11a’)
出现:
Data truncated for column ‘x’ at row 1

解决办法:
在my.ini里找到
sql-mode=”STRICT_TRANS_TABLES,NO_AUTO_Create_USER,NO_ENGINE_SUBSTITUTION”
把其中的
STRICT_TRANS_TABLES,
去掉,然后重启mysql就ok了 
参考博主转自:Trackback:[url] http://tb.blog.csdn.net/TrackBack.aspx?PostId=2032186[/url]

关于MySQL5中varchar字段类型的长度定义:

原文稍作了截取:
http://hi.baidu.com/mcspring/blog/item/63f0dea25e8e7baacbefd0ad.html

借此机会重新仔细读了一下MySQL5的文档,其中对varchar字段类型这样描述:varchar(m) 变长字符串。M 表示最大列长度。M的范围是0到65,535。(VARCHAR的最大实际长度由最长的行的大小和使用的字符集确定,最大有效长度是65,532字节)。

为何会这般变换?真是感觉MySQL的手册做的太不友好了,因为你要仔细的继续往下读才会发现这段描述:MySQL 5.1遵从标准SQL规范,并且不删除VARCHAR值的尾部空格。VARCHAR保存时用一个字节或两个字节长的前缀+数据。如果VARCHAR列声明的长度大于255,长度前缀是两个字节。

好了,貌似懂了一点。但具体他说的长度大于255时使用2个字节长度前缀,小学减法题:65535 - 2 = 65533啊。不知道这些大牛如何计算的,暂且保留疑问吧?

注:我测试了一下使用UTF8编码,varchar的最大长度为21854字节。 
------------------------------------------------------------------
可能人品不好 上面都没有解决我的问题。我把数据类型换成了longtext  长度不用设置就ok了

mysql data too long for column xxx解决方案相关推荐

  1. 【Data truncation: Data too long for column ‘XXX at row 1 报错】

    问题描述 在进行提交修改数据的时候,出现Error updating database. Cause: com.mysql.jdbc.MysqlDataTruncation: Data truncat ...

  2. Data truncation: Data too long for column 'xxx' at row 1

    Data truncation: Data too long for column 'xxx' at row 1 完整的错误内容可能是下面这样的: 严重: Servlet.service() for ...

  3. 解决:Data truncation: Data too long for column ‘XXX‘ at row 1

    * 问题: Data truncation: Data too long for column 'XXX' at row 1* 项目开发中遇到一个问题,下面是问题: Caused by: com.my ...

  4. Data too long for column ‘xxx‘ at row 1解决方法

    在flask添加字段的时候,提示 Data too long for column 'xxx' at row 1 此时,只需在模板也导入长字段 from sqlalchemy.dialects.mys ...

  5. 解决Data too long for column ‘xxx‘ at row 1问题以及深入理解mysql的字符串数据类型(char,varchar,enum,text,longtext...)

    文章目录 1. 复现问题 2. 分析问题 3. 深入理解mysql的数据类型 3.1 CHAR 和 VARCHAR 类型 3.2 TEXT 类型 3.3 ENUM 类型 3.4 SET 类型 4. 解 ...

  6. 【mysql报错】Data truncation: Data too long for column ‘XXX‘ at row 1

    报错:.MysqlDataTruncation: Data truncation: Data too long for column 1.可能 数据库中的字符集的编码与写代码的页面的编码不相符合:(一 ...

  7. Data too long for column ‘xxx‘ at row 1 ——数据库字段长度太短

    目录 一.写在前面 二.问题场景 三.异常重现 四.原因分析 五.解决方案 1.根据映射关系找到字段名 2.查询表结构 3.修改字段长度 4.修改完成,再次运行相关业务无误 六.核心代码 七.其他细节 ...

  8. Data truncation: Data too long for column ‘xxx‘

    一.问题描述 org.springframework.dao.DataIntegrityViolationException: ### Error updating database. Cause: ...

  9. Data truncation: Data too long for column ‘xxx‘ at row xxx问题详解

    问题环境 该问题出现在Servlet接受表单信息,系统报错. 可能的原因及解决方案 1.html或jsp页面中表单value的值未配置,导致请求头中信息读取异常.找到from表单添加上对应的value ...

最新文章

  1. Linux学习笔记6——文本处理相关命令
  2. 解读电感和电容在交流电路中的作用
  3. 伏安特性曲线实验报告_电化学扩散层,Cottrell equation,取样电流伏安法
  4. mysql sql优化器_MySQL SQL优化之‘%’
  5. 之江学院第0届 A qwb与支教 容斥与二分
  6. @async 没有异步_玩转javascript异步编程
  7. Python_类的特殊成员方法
  8. RabbitMQ学习总结(8)——RabbitMQ后台管理控制台页面属性总结
  9. HTML5+学习笔记2-------边看代码边研究貌似还是有点问题...还在研究中api中
  10. 图像、视频等文件类型(拓展名)
  11. WPF之HierarchicalDataTemplate(转)
  12. Android学习笔记一:Android基本组件和Activity生命周期
  13. MySQL 数据库操作命令汇总
  14. 写一个彩票程序:30选7。
  15. selenium是python_selenium+Python(事件)
  16. Quartz 是什么?一文带你入坑
  17. 科普:互联网的岗位职责和技能
  18. java 大小写_java中如何进行大小写字母转换?
  19. #Geek Point# 创业、艺术家和量子物理
  20. mysql卸载不掉? 帮你清理注册表,重新安装数据库mysql

热门文章

  1. 判断三条边能否构成三角形 python
  2. model.train()与model.eval()的用法、Dropout原理、relu,sigmiod,tanh激活函数、nn.Linear浅析
  3. 阿里云安全中心之漏洞修复最佳实践
  4. AtCoder Beginner Contest 177 A~D 题解
  5. HIbernate关联映射小案例(CRUD)
  6. 用C语言恶搞你的好朋友strcmp()
  7. js等待加载转圈圈效果
  8. java实现排兵布阵(回溯法)
  9. 程序员怎么从中国直接去美国工作?
  10. carbon安装win7 thinkpad x1_ThinkPad X1 carbon笔记本Win7重装系统步骤详细教程。 重装系统...