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

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

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

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

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

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

 

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

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

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

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

 

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

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

 

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

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

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

 

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

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

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

 

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/113289.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 日志管理方法及系统

    日志管理方法及系统摘要本发明涉及应用系统日志管理技术领域,提供了一种日志管理方法和系统,所述方法包括如下步骤:S1:初始化系统业务功能列表和业务功能方法列表;S2:将业务操作中的具体操作信息与系统日志表和历史数据日志表直接相关联;S4:根据业务操作自动记录日志信息。本发明从整体考虑整个应用系统的日志信息与业务操作挂接,用户在运行时可以根据当前的需要,选择某业务操作是否需要记录日志,并且在业务操作界面能即时将

  • 网络基础:网络IP 、子网掩码 、路由器 、DNS知识分享

    网络基础:网络IP 、子网掩码 、路由器 、DNS知识分享

    2020年11月14日
  • 遗传算法经典实例_遗传算法优化BP神经网络

    遗传算法经典实例_遗传算法优化BP神经网络下面用手工计算来简单地模拟遗传算法的各个主要执行步骤。      例:求下述二元函数的最大值: (1)个体编码          遗传算法的运算对象是表示个体的符号串,所以必须把变量x1,x2编码为一种      符号串。本题中,用无符号二进制整数来表示。          因x1,x2为0~7之间的整数,所以分别用3位无符号二进制整数来表示,将它      …

  • 注册、登录和 token 的安全之道[通俗易懂]

    注册、登录和 token 的安全之道

  • 通过QXDM锁BAND_不root怎么锁band

    通过QXDM锁BAND_不root怎么锁band1、通过QXDM锁频QXDM工具View->New->Common->NVBrowser:NV(NonVoliatile)参数就是保存在终端上的非易失参数,可以通过view中的NVBrowser来进行查看和修改。这些信息由厂家固化在终端内部,一般不允许用户修改。同时,可以通过NVBrowser对终端进行Offline(掉电重启)操作。其中06828LTEBCconfig可以配置终端支持的band信息,将该项的值读出来(默认读出来为十进制)转化为二进制,..

  • React路由重定向Redirect[通俗易懂]

    React路由重定向Redirect[通俗易懂]react路由重定向<Switch>{/*<Routepath=”/”exactcomponent={NewsPage}/>*/}<Routepath=”/my”component={MyPage}/><Routepath=”/news…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号