Error Code: 1406 Data too long for column 'content' at row 1

一:问题描述

今天有同事反馈往一个text数据类型的列上插入数据时,插入失败。

示例:

INSERT INTO t(ftime,content) VALUES(SYSDATE(),REPEAT('你好',20000))

Error Code: 1406 Data too long for column 'content' at row 1_第1张图片

 

二:出错原因

① sql_mode包含STRICT_TRANS_TABLES配置

    当要插入的数据跟列的数据类型不匹配或者要插入的数据比数据类型大,会被截断时,就会报错,无法插入。

② text数据类型的列也是有长度限制的,大小不能超过65535个字节。

 

三:解决办法

将text数据类型变为mediumtext类型。

示例:

alter table cle modify `Content` mediumtext COLLATE utf8_unicode_ci COMMENT '初核报告摘要';

 

--常见的几个数据类型允许的最大大小

Error Code: 1406 Data too long for column 'content' at row 1_第2张图片

你可能感兴趣的:(MySql,学习,MySql,报错集锦)