Chinaunix

标题: mysql load或者mysqlimpoort 数据,txt格式,如何跳过数据格式错误的行? [打印本页]

作者: holetohole    时间: 2015-10-20 00:08
标题: mysql load或者mysqlimpoort 数据,txt格式,如何跳过数据格式错误的行?
本帖最后由 holetohole 于 2015-10-20 00:08 编辑

大家好,最近使用mysql导入txt文件到数据库中,但是发现使用mysqlimport导入数据的时候,txt中某行某个字段超长,只是发生警报,而且数据被截断导入到库了。这种情况,怎么设置跳过这样一行?

比如表test (a varchar(2),b varchar(2))

test.txt

1|1

100000|1
导入数据库是这样的
1|1

10|1

但是明显第二行应该拒绝掉而不截断插入,设置数据库的sql_mode也没啥用··

这是语句·

mysqlimport -uroot -proot -d --fields-terminated-by=\| sdata /home/data/test.txt --local

求各位指教
作者: bikong0411    时间: 2015-10-20 10:06
  1. mysqlimport -uroot -proot -d --fields-terminated-by=\| sdata   --force        /home/data/test.txt --local
  2.   
复制代码

作者: holetohole    时间: 2015-10-20 21:49
回复 2# bikong0411


    测试了一下,那一行截断插入了
作者: asdf2110    时间: 2015-10-21 11:42
你可以用脚本,比如awk ,把那个txt文件处理一下
作者: holetohole    时间: 2015-10-21 21:18
回复 4# asdf2110


    因为是数据库应用,字段一多,处理将是个噩梦···谢谢了




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2