解决 mysql [Data Too Long..]数据更新失败的异常
来源:互联网 发布:权志龙同款衣服淘宝 编辑:程序博客网 时间:2024/05/14 04:32
最近数据库经常出现如下异常:
multiQuery Query Failed, ERRNO: 1406 (Data too long for column....)
解决方案:
1.检查数据库中该字段的长度是否太小(如果字段类型是字符串类型(varchar,char)),太小只要增大这个字段的长度即可,但是mysql一张表的varchar总长度不能超过65535,如果超过需要对表进行压缩
2.如果字段类型是text,则检查数据库innodb_file_format 格式
mysql> show variables like '%format%';
+--------------------------+-------------------+
| Variable_name | Value |
+--------------------------+-------------------+
| binlog_format | STATEMENT |
| date_format | %Y-%m-%d |
| datetime_format | %Y-%m-%d %H:%i:%s |
| default_week_format | 0 |
| innodb_file_format | Barracuda |
| innodb_file_format_check | ON |
| innodb_file_format_max | Antelope |
| time_format | %H:%i:%s |
+--------------------------+-------------------+
需要将innodb_file_format 改为 Barracuda 这个模式应该和row压缩有关
步骤如下:
1.linux下打开 mysql配置文件(在 /etc/my.cnf),加入:
innodb_file_format=Barracuda
2:在数据库中执行:
SET GLOBAL innodb_file_format=Barracuda;
ALTER TABLE [tableName]
ENGINE=InnoDB //表的存储引擎
ROW_FORMAT=COMPRESSED //row的格式,有DEFAULT(默认)、FIXED(混合)、DYNAMIC(动态)、COMPRESSED(压缩)、REDUNDANT(冗长)、COMPACT(紧凑)
KEY_BLOCK_SIZE=8; //压缩InnoDB的缓冲池的索引页
更多关于压缩的资料,参考:http://dev.mysql.com/doc/refman/5.7/en/innodb-compression-usage.html
- 解决 mysql [Data Too Long..]数据更新失败的异常
- MySql中插入中文数据提示Data too long for column X at row n的解决
- 读取MYSQL中文数据乱码,解决data too long for column 'title' at row 1
- 读取MYSQL中文数据乱码,解决data too long for column 'title' at row 1
- Data too long for column 'name' at row 1 mysql的抛出异常的解决办法
- mysql建表时指定编码,避免Data too long for column.....的异常
- mysql中data too long for column问题的解决方法
- MYSQL中出现data too long for column的解决方案
- mysql中data too long for column问题的解决方法
- mysql中data too long for column问题的解决方法
- java-mysql异常<Data truncation: Data too long for column 'name ' at row 1>讨论
- java-mysql异常<Data truncation: Data too long for column 'name ' at row 1>讨论
- 解决data too long for column”错误
- phpMyAdmin执行成功,但是mysql命令source导入失败: Data too long for column
- 如何修改MySQL编码匹配当前软件的编码 ,同时解决“Data too long for Column”问题
- mysql data too long for column 解决方案
- Mysql "data too long for column"
- Mysql #1406 Data too long 错误
- 两个简单的例子,带你了解Java中继承和组合的区别
- 【第二章|基础简述】
- 10、SSM框架-Spring AOP之基于注解的声明式AspectJ(10)
- 微信蓝牙设备开发之初步接入微信硬件jsapi(8)
- Centos6问题总结
- 解决 mysql [Data Too Long..]数据更新失败的异常
- 聊下git merge --squash
- 小菜鸟写代码遇到的那些事
- 扒一扒Android事件传递机制之一张图完全解析
- qudoj LC与三角形
- 2125 数据结构实验之串二:字符串匹配
- 推送技术原理:移动无线网络长连接
- 11、SSM框架-Spring JDBC管理(11)
- Codeforces 67A Partial Teacher【dp】