下面是一段我在保存text类型的数据到mysql时遇到的问题,记录在此,希望能为碰到此问题的同道中人节省时间:
保存数据时先是报该异常:com.mysql.jdbc.PacketTooBigException: Packet for query is too large
网上搜索答案后,进行了如下修改:
修改/etc/my.cnf文件中[mysqld]部分为max_allowed_packet = 64M
修改后旧异常没有了,但报新的异常:com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column
网上说是字符集问题,但发现不是,因为我所有用的字符集都统一设置成了UTF-8
于是继续搜索,最后找到根本解决办法:
将字段类型从text改为了mediumtext。
下面贴一下mysql中和text相关的类型最大长度限制,请根据业务类型进行合理选择:
TINYTEXT 最大长度是 255 (2^8 – 1) 个字符。
TEXT 最大长度是 65535 (2^16 – 1) 个字符。
MEDIUMTEXT 最大长度是 16777215 (2^24 – 1) 个字符。
LONGTEXT 最大长度是 4294967295 (2^32 – 1) 个字符。
分享到:
相关推荐
MySql所有字段类型及长度范围,可以参考下
MySQL字段类型说明 MySQL字段类型说明
mysql中插入多text类型问题,可以让mysql数据库插入多个大存储类型
Oracle_Mysql_Sqlserver字段类型转换参考Oracle_Mysql_Sqlserver字段类型转换参考Oracle_Mysql_Sqlserver字段类型转换参考Oracle_Mysql_Sqlserver字段类型转换参考Oracle_Mysql_Sqlserver字段类型转换参考Oracle_...
MySql数据库的列类型(字段类型).MySql数据库的列类型(字段类型).MySql数据库的列类型(字段类型).MySql数据库的列类型(字段类型).
本文实例讲述了MySQL存储过程的异常处理方法。分享给大家供大家参考。具体如下: mysql> mysql> delimiter $$ mysql> mysql> CREATE PROCEDURE myProc -> (p_first_name VARCHAR(30), -> p_last_name VARCHAR(30)...
Mysql5中所有的字段类型稍微整理了一下。 仅供参考。
MySQL存储过程,一键批量修改一个表内的多个列(字段)类型。例如从int转换成varchar
主要为大家详细介绍了MySQL定义异常和异常处理,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
Mysql字段类型说明
一个完整的字段包括字段名、数据类型和约束条件。MySQL 添加字段的语法格式如下: ALTER TABLE <表名> ADD <新字段名><数据类型>[约束条件]; 对语法格式的说明如下: <表名> 为数据表的名字; <新字段名> 为所要...
MySql字段类型,各个字段得定义,使用。
向mysql的表插件一个字段 类型为text时,或修改一个字段类型为text时,报出上面的错误。其实我对这个错误的原因理解也不是很深,给出一些我查到的解释吧 大意是数据表中有一个设定长度为64K的字段索引,当表中字段...
要求:查询一个字段的数据,将每个数据拆分,取第一个字符,将第一个字符遍历出来,替换到另一个字段里面
mysql数据的字段类型,如:DateTime,TimeStamp的解释。 登录数据库,修改表中字段及字段属性的命令。
mysql修改字段类型
MySql数据库的列类型(字段类型).pdf
其原因是distinct只能返回它的目标字段,而无法返回其它字段,这个问题让我困扰了很久,用distinct不能解决的话,我只有用二重循环查询来解决,而这样对于一个数据量非常大的站来说,无疑是会直接影响到效率的。...
BIGINT 大整数,带符号的范围是-...BIT 位字段类型,范围为从1到64,默认为1 BLOB 最大长度为65,535(216–1)字节的BLOB列 BOOL 是TINYINT(1)的同义词。zero值被视为假。非zero值视为真 CHAR 固定长度字符串
mysql5.7以上具有json数据类型了,文档是学习使用JSON文档。