当我将数据从excel导出为CSV格式时,它将一些数据封装在双引号中。 E.g。
8"
变为"8"""
。我相信这个操作正试图让数据库在以后了解内部引用。8'
,它会保持不变,这会导致问题(请参阅下面的图片),而我正在导入csv。为什么不将8'
引用到"8'"
?
8'
变为'
,而"8'"
将导致8'
而不引用单引号会导致数据丢失。
相关问题:
what does quotechar mean in mysql while importing data?
答案 0 :(得分:0)
经过这么多实验,我终于找到了一个非常接近的答案。
结论第一:
测试:
默认情况下,Mysql workbench导入向导将第一行值作为列名,而在Navicat中,我可以配置它。
(所有测试文件都是excel导出的csv utf8编码。)
TEST1:
例如:8'
(仅1条记录),没有列名。
Mysql:弹出一些未知错误,无论你改变什么配置,都无法获得原始数据
Navicat:工作正常。
TEST2:
例如:8'
,只有1个带列名的记录或没有列名的额外记录
Mysql:可以正确处理单引号
Navicat:没问题。
TEST3:
如果存在单引号,对于大多数情况导入向导无法很好地处理双引号。