导入数据到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错误
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值