MySQL Load data infile 和 ERROR 1261 (01000) 错误

解决MySQL导入数据错误1261与1265
部署运行你感兴趣的模型镜像

今天导入数据时,发生错误1261,信息如下:

ERROR 1261 (01000): Row 1 does not contain data for all columns
ERROR 1262 (01000): Row 1 was truncated; it contained more data than there were input columns

 

这个错误的原因是数据文件中的列数跟 MySQL 数据表字段数目没有完全匹配,并且 sql_mode 设为 strict 模式。

查看数据后发现是有一个字段的数据中存在“\”,可能是这个字符导致的错误,设置了转义字符为“\\”,但还是不行,一会儿还要好好研究一下,当前的解决方式如下:

 

先查询当前的sql_mode,再设置sql_mode的模式。

mysql> show variables like 'sql_mode';

+---------------+----------------------------------------------------------------+
| Variable_name | Value                                                          |
+---------------+----------------------------------------------------------------+
| sql_mode      | strict_trans_tables,no_auto_create_user,no_engine_substitution |
+---------------+----------------------------------------------------------------+
set sql_mode='';

 

测试发现当Error 1265 时,使用相同的方式也能解决问题。我的数据库中存在可为空的double类型的字段,文件中该字段有些数据为空,这样在导入数据时,发生1265的错误。使用上述方法设置sql_mode后,问题解决,数据导入成功且无误,只是完成结果提示有警告。 

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值