导入数据到mysql报错ERROR 1406 (22001): Data too long for column ‘comment‘ at row xx

导入文本数据到mysql

报错:ERROR 1406 (22001): Data too long for column ‘comment’ at row xx
原因:'comment’列xx行的内容太长,超过了我们预先定义表的长度

解决方法

思路一:内容很重要,需要全部保留,那么就扩展列的大小或者更改列的类型

方法:如果一开始定义的是char/varchar类型,那么可以扩展类型的大小,但是建议用可变长度的数据类型,如text、mediumtext或longtext

MySQL数据类型含义
char(n)固定长度,最多255个字符
varchar(n)固定长度,最多65535个字符
tinytext可变长度,最多255个字符
text可变长度,最多65535个字符
mediumtext可变长度,最多2的24次方-1个字符
longtext可变长度,最多2的32次方-1个字符

思路二:内容太长可以被截断,如果超长则自动截断

方法:
1.查询当前sql的模式: select @@sql_mode;
2.设置sql的模式: set sql_mode=`ANSI`;

mode作用
最宽松的模式, 即使有错误既不会报错也不会有警告️
ANSI宽松模式,对插入数据进行校验,如果不符合定义类型或长度,对数据类型调整或截断保存,报warning警告
TRADITIONAL严格模式,当向mysql数据库插入数据时,进行数据的严格校验,保证错误数据不能插入,报error错误。
STRICT_TRANS_TABLES严格模式,进行数据的严格校验,错误数据不能插入,报error错误


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部