在load csv 进mysql的时候,报这个错,苦恼了很长时间,网上搜索不到答案。
mysql> load data infile '/home/hdh/8_sr/8_45.csv' into table xizang.fp45 fields terminated by ',' escaped by '"' lines terminated by '\r\n';
解决方案:
1.查看字符集,Linux, 数据库,表
mysql> show variables like 'character%';
+--------------------------+-----------------------------+
| Variable_name | Value |
+--------------------------+-----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /home/mysql/share/charsets/ |
+--------------------------+-----------------------------+
8 rows in set (0.01 sec)
都是utf8,没有问题,
2.只能对这个文件进行特殊字符的清理了,一般遇到这个都是因为字符中间多了“\” 转义字符。
一般遇到特殊字符的时候会提示多少行,什么字符导致的出错,但是这个“\”,不会有这么详细的提示。
对这个文件 sed -i 's/"//g' filename #删除文件中的"
sed -i 's/\\//g' filename #删除文件中的\
重新load ok