mysql: Packet for query is too large 和Data too long for column
来源:互联网 发布:北大口腔医院 知乎 编辑:程序博客网 时间:2024/04/29 18:11
今天在用mysql开发项目的时候,用BLOB字段存储文件二进制流。
一、先是报异常
com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'title' at row 1
发现上传的文件大于65535字符(mysql在UTF-8编码下汉字也是一个字符,跟oracle一个汉字3个字符不一样)
用 show full fields from table_name; 查询的collation字段可以看到当前表的字符集。
一个BLOB或TEXT列,最大长度为65535(2^16-1)个字符。(0.06 M兆)
MEDIUMBLOB
MEDIUMTEXT
一个BLOB或TEXT列,最大长度为16777215(2^24-1)个字符。 (16M)
LONGBLOB
LONGTEXT
一个BLOB或TEXT列,最大长度为4294967295(2^32-1)个字符。(4G)
最后修改为LONGBLOB 解决第一个问题。
二、max_allowed_packet设置及问题
报的异常:com.mysql.jdbc.PacketTooBigException: Packet for query is too large (1521830 > 1048576). You can change this value on the server by setting the max_allowed_packet' variable
解决方法,在my.ini里的[mysqld]增加如下部分
[mysqld]
max_allowed_packet=64M
注意,在[client]和[mysql]部分增加无效,那个是客户端读取的参数。
然后一定记住重启MYSQL服务(不是终端),使用net stop mysql + net start mysql 或者 cmd->services.msc重启MYSQL服务,这里仅限于Windows
- mysql: Packet for query is too large 和Data too long for column
- mysql: Packet for query is too large 和Data too long for column
- MYSQL Packet for query is too large
- MYSQL Packet for query is too large
- MySQL Packet for query is too large
- Packet for query is too large (mysql)
- Packet for query is too large
- Packet for query is too large
- Packet for query is too large
- Packet for query is too large
- Packet for query is too large
- Packet for query is too large
- Packet for query is too large
- Packet for query is too large
- 【解决】Packet for query is too large
- Packet for query is too large
- Packet for query is too large
- PacketTooBigException: Packet for query is too large
- 【华为上机】天天爱消除
- What really happens when you navigate to a URL
- Multiples of 3 and 5
- 使用websocket接收服务端传来的图片
- java 枚举深入理解
- mysql: Packet for query is too large 和Data too long for column
- 读取win7硬盘系列号
- Windows 7 UAC
- Cocos2dx---------------- TinyXml 解析 XML(推荐使用rapidxml)
- 详解浏览器的渲染原理简介
- Android中OnScrollListener的详解(Listview分批加载用到)
- C#利用反射获取对象属性值
- 用android LinearLayout和RelativeLayout实现精确布局
- 动态代理