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”.

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • kafka删除topic消息的四种方式[通俗易懂]

    kafka删除topic消息的四种方式[通俗易懂]方法一:快速配置删除法(简单粗暴,如果这个主题有程序还在消费都,此时KAFKA就gameover)1.kafka启动之前,在server.properties配置delete.topic.enable=true2.执行命令bin/kafka-topics.sh–delete–topictest–zookeeperzk:2181或者使用kafka-manager集群管理工具删除注意:如果kafka启动之前没有配置delete.topic.enable=true,topic只会标记

    2022年10月16日
    3
  • 手机怎么写Python_下载了python在哪里写代码

    手机怎么写Python_下载了python在哪里写代码这个非常简单,QPython3和Termux这2个手机APP就可以,都集成了Python开发环境,可以直接编辑运行Python程序,下面我简单介绍一下这2个APP:QPython3这是一个集成了Python3解释器的安卓手机APP,自带有Console控制台、QEdit编辑器和SL4A库,可以直接在手机上编辑运行Python程序,下面我简单介绍一下这个APP的安装和使用:1.首先,安装QPytho…

    2022年8月12日
    4
  • 点云处理算法整理(超详细教程)

    点云处理算法整理(超详细教程)

    2020年11月8日
    845
  • (6)JMeter元件详解之 While Controller条件控制器

    (6)JMeter元件详解之 While Controller条件控制器

    2021年7月13日
    102
  • 查找回文字符串

    查找回文字符串编写一个程序,寻找一篇英文文章中最长的回文字符串。回文字符串是具有回文特性的字符串:即该字符串从左向右读,与从右向左读都一样。输入文件不会超过500字符。这个文件可能一行或多行,但是每行都不超过80个字符(不包括最后的换行符)。在寻找回文时只考虑字母‘A’-‘Z’和‘a’-‘z’,忽略其他字符(例如:标点符号,空格等)。输出的第一行应该包括找到的最长的回文的长度。下一行或几行应该包括这个回文的原文(没有除去标点符号,空格等),把这个回文输出到一行或多行(如果回文中包括换行符)。如果有多

    2022年6月5日
    32
  • 本地连接redis_redis入门

    本地连接redis_redis入门通过前面的学习,相信读者对RedisSentinel有了一定的了解,本节将介绍应用方如何正确地连接RedisSentinel。有人会说这有什么难的,已经知道了主节点的ip地址和端口,用对应编程语言的客户端连接主节点不就可以了吗?但试想一下,如果这样使用客户端,客户端连接RedisSentinel和主从复制的Redis又有什么区别呢,如果主节点挂掉了,虽然RedisSentinel可以完成故障转移,但是客户端无法获取这个变化,那么使用RedisSentinel的意义就不大了,所以各个语言

    2022年9月15日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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