导入数据时,quotechar在mysql中是什么意思?

scyqe7ek  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(458)

有人给我发了封信 xlsx excel文件,我用excel打开它,并用utf8编码保存为csv。
我使用mysql工作台导入向导将excel生成的utf8csv文件导入数据库表。但是导入的结果遗漏了一些数据(少于它应该有的数据)。
我想这和《语录》有关。
默认情况下,quotechar是双引号,但我有一些类似的数据(混合单引号和双引号):
8'10“富吧
4“x 6”foo foo酒吧
我试着忽略这个值,但它不能(见图片中的错误)。
所以我想弄清楚:
quotechar在这里是什么意思?它是如何工作的?为什么重要?它不能从csv文件导入所有内容吗?
当我的数据混合了单引号和双引号(稍后我需要检索它们并将其用作搜索关键字,所以最好保持原始表单)时,如何正确导入数据?

我的数据在excel中如下所示:

zd287kbt

zd287kbt1#

我想,您将把数据从excel导出为csv,所以这在excel中看起来是不相关的。
当您将数据从excel导出为csv格式时,它会将您的数据封装在双引号中。数据本身中的任何双引号都将由excel自动用第二个双引号转义。
例如,如果您的数据是:

8"

导出时将是:

"8"""

您必须告诉mysql您是在字符中包含字符串 " . 这就是问题所在 quotechar 这是在说什么。这是您填写的表格的第二个字段。
我不确定mysql在这里会有多挑剔,因为我从来没有将csv导入mysql。excel csv输出的诀窍在于,如果您有如下数据:

8"
8'

它将输出为csv:

"8"""
8'

第二个记录/字段没有获得双引号封装,因为它不包含需要封装的字符(双引号、回车符或换行符)。
mysql可能会被第二条记录阻塞(希望它的导入过程足够健壮,能够处理封装和非封装的字段)

相关问题