WD1X.COM - 问答一下,轻松解决,电脑应用解决专家
主板显卡CPU内存显示器
硬盘维修显卡维修显示器维修
注册表系统命令DOS命令Win8
存储光存储鼠标键盘
内存维修打印机维修
WinXPWin7Win11Linux
硬件综合机箱电源散热器手机数码
主板维修CPU维修键盘鼠标维修
Word教程Excel教程PowerPointWPS
网络工具系统工具图像工具
数据库javascript服务器
PHP教程CSS教程XML教程

mysql导入文件出现Data truncated for column 'xxx' at row 1的原因

更新时间:2021-07-04 12:59 作者:lxw1844912514点击:

mysql导入文件的时候很容易出现"Data truncated for column 'xxx' at row x",其中字符串里的xxx和x是指具体的列和行数.

有时候,这是因为数据类型的不对应,或者字符串长度不够而造成的.

但是,经常出现row 1就报错,并且感觉它没什么不对的样子.

这往往是因为windows的回车换行"\r\n"作怪,下面的测试说明了这种情况.

 

我有一个train.csv的数据文件,我用python修改后保存为c.csv.

但是,我用相同的命令把它们导入到mysql时,train能导入,c却出错.

 

我把行结束符从"\n"换成"\r\n"后,导入成功.

 

用notepad打开这两个文件,会发现train根本没有换行,而c则有换行.

这说明train里只有"\n",因此notepad无法识别到换行,而c里则是"\r\n".

 

然而用python生成c.csv的时候,输出只有"\n",这说明python在win下会自动把"\n"变成"\r\n".

还有一点是,除了notepad外的大部分win下的编辑器,都既能识别"\n"又能识别"\r\n".

因此只有用notepad才能知道到底是"\n"还是"\r\n",或者用winHex等工具直接看ascii码.

 

最后的结论是,注意这个数据文件的换行到底是"\n"还是"\r\n".

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
你可能感兴趣的内容