mysql data too long for column xxx解决方案
最近导入数据的时候,总是报错: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解决方案相关推荐
- 【Data truncation: Data too long for column ‘XXX at row 1 报错】
问题描述 在进行提交修改数据的时候,出现Error updating database. Cause: com.mysql.jdbc.MysqlDataTruncation: Data truncat ...
- 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 ...
- 解决: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 ...
- Data too long for column ‘xxx‘ at row 1解决方法
在flask添加字段的时候,提示 Data too long for column 'xxx' at row 1 此时,只需在模板也导入长字段 from sqlalchemy.dialects.mys ...
- 解决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. 解 ...
- 【mysql报错】Data truncation: Data too long for column ‘XXX‘ at row 1
报错:.MysqlDataTruncation: Data truncation: Data too long for column 1.可能 数据库中的字符集的编码与写代码的页面的编码不相符合:(一 ...
- Data too long for column ‘xxx‘ at row 1 ——数据库字段长度太短
目录 一.写在前面 二.问题场景 三.异常重现 四.原因分析 五.解决方案 1.根据映射关系找到字段名 2.查询表结构 3.修改字段长度 4.修改完成,再次运行相关业务无误 六.核心代码 七.其他细节 ...
- Data truncation: Data too long for column ‘xxx‘
一.问题描述 org.springframework.dao.DataIntegrityViolationException: ### Error updating database. Cause: ...
- Data truncation: Data too long for column ‘xxx‘ at row xxx问题详解
问题环境 该问题出现在Servlet接受表单信息,系统报错. 可能的原因及解决方案 1.html或jsp页面中表单value的值未配置,导致请求头中信息读取异常.找到from表单添加上对应的value ...
最新文章
- Linux学习笔记6——文本处理相关命令
- 解读电感和电容在交流电路中的作用
- 伏安特性曲线实验报告_电化学扩散层,Cottrell equation,取样电流伏安法
- mysql sql优化器_MySQL SQL优化之‘%’
- 之江学院第0届 A qwb与支教 容斥与二分
- @async 没有异步_玩转javascript异步编程
- Python_类的特殊成员方法
- RabbitMQ学习总结(8)——RabbitMQ后台管理控制台页面属性总结
- HTML5+学习笔记2-------边看代码边研究貌似还是有点问题...还在研究中api中
- 图像、视频等文件类型(拓展名)
- WPF之HierarchicalDataTemplate(转)
- Android学习笔记一:Android基本组件和Activity生命周期
- MySQL 数据库操作命令汇总
- 写一个彩票程序:30选7。
- selenium是python_selenium+Python(事件)
- Quartz 是什么?一文带你入坑
- 科普:互联网的岗位职责和技能
- java 大小写_java中如何进行大小写字母转换?
- #Geek Point# 创业、艺术家和量子物理
- mysql卸载不掉? 帮你清理注册表,重新安装数据库mysql
热门文章
- 判断三条边能否构成三角形 python
- model.train()与model.eval()的用法、Dropout原理、relu,sigmiod,tanh激活函数、nn.Linear浅析
- 阿里云安全中心之漏洞修复最佳实践
- AtCoder Beginner Contest 177 A~D 题解
- HIbernate关联映射小案例(CRUD)
- 用C语言恶搞你的好朋友strcmp()
- js等待加载转圈圈效果
- java实现排兵布阵(回溯法)
- 程序员怎么从中国直接去美国工作?
- carbon安装win7 thinkpad x1_ThinkPad X1 carbon笔记本Win7重装系统步骤详细教程。 重装系统...