问题现象
包含列分隔符的第一个字符的数据的导出。
解决方法
由于导出数据中包含列分隔符的第一个字符,这时导出程序会给数据中与列分隔符
第一个字符重复的字符进行转义。
举例如下:
数据库里的数据:
col1 col2
a 1|2|3
第一种情况:分隔符是“|@$”时,直接使用 select 命令导出数据:
a|@$1\|2\|3
由于“|”被加了转义符,所以在导入的时候出现错误。
第二种情况:分隔符是“@$”时,直接使用 select 命令导出数据:
a@$1|2|3
由于“|”没有加转义符,此时导入数据是正确的。
第三种情况:分隔符是“|@$”时,使用 select 命令并增加 escaped by 导出数
据:
a@$1|2|3
由于“|”没有加转义符,此时导入数据是正确的。
结论:在数据内容包含列分隔符首字符时,需要增加 escaped by,以解决转义问题。