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

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

holetohole 发表于 2015-10-20 21:49

回复 2# bikong0411


    测试了一下,那一行截断插入了

asdf2110 发表于 2015-10-21 11:42

你可以用脚本,比如awk ,把那个txt文件处理一下

holetohole 发表于 2015-10-21 21:18

回复 4# asdf2110


    因为是数据库应用,字段一多,处理将是个噩梦···谢谢了
页: [1]
查看完整版本: mysql load或者mysqlimpoort 数据,txt格式,如何跳过数据格式错误的行?