Mysql 为什么excel导出csv不';你不能单报价吗?

Mysql 为什么excel导出csv不';你不能单报价吗?,mysql,sql,excel,mysql-workbench,Mysql,Sql,Excel,Mysql Workbench,当我将数据从excel导出为CSV格式时,它将一些数据封装在双引号中。 例如 8“变成了“8”“”。我相信这个操作是为了让数据库稍后理解内部引号 但是对于单引号8',它保持不变,这会在导入csv时导致问题(请参见下图) 为什么不把8'也引用到“8'中呢 8'在导入时变为',而“8'将导致8',不引用单个引号会导致一些数据丢失。 相关问题: 在做了这么多实验后,我终于找到了一个非常接近的答案 结论一: 这是Mysql Workbench的问题。它的导入向导工作得很糟糕。我在Navicat下测

当我将数据从excel导出为CSV格式时,它将一些数据封装在双引号中。 例如

  • 8“
    变成了
    “8”“”
    。我相信这个操作是为了让数据库稍后理解内部引号
  • 但是对于单引号
    8'
    ,它保持不变,这会在导入csv时导致问题(请参见下图)
  • 为什么不把
    8'
    也引用到
    “8'
    中呢

    8'
    在导入时变为
    '
    ,而
    “8'
    将导致
    8'
    ,不引用单个引号会导致一些数据丢失。

    相关问题:


    在做了这么多实验后,我终于找到了一个非常接近的答案

    结论一:

    • 这是Mysql Workbench的问题。它的导入向导工作得很糟糕。我在Navicat下测试每一个测试数据,Navicat都能正常工作
    • 单引号可能导致意外行为

    测试:

    默认情况下,Mysql workbench导入向导将第一行值作为列名,而在Navicat中,我可以对其进行配置

    (所有测试文件都是excel导出的csv utf8编码。)

    测试1:

    e、 g.:
    8'
    (只有一条记录),没有列名。

    Mysql:弹出一些未知错误,无论您更改什么配置,都无法获取原始数据。
    纳维卡特:很好用

    测试2:

    e、 g.:
    8'
    ,只有一条记录有列名,或者有没有列名的额外记录
    Mysql:可以正确处理单引号。
    纳维卡特:没问题。

    测试3:

    如果存在单引号,在大多数情况下,导入向导无法很好地处理双引号

    e、 g:单引号数据在双引号数据之前。

    Mysql:完全失败。
    纳维卡特:没问题


    @BobKaufman拜托,伙计。你没看到导入时,
    8'
    变成了唯一的
    '
    吗?如果图片不好,我感到很抱歉。问题很清楚。它不应该关闭。@Ravinderedy感谢你的支持。@Rick…Excel只是做它的事情,它的事情就是谋杀数据。第一条规则:如果你你关心它的完整性;)其次,我认为这可能是你正在使用的mysql客户端的一个限制。如果你点击命令行,你可以指定
    字段[[可选]用'char'括起来]
    你需要的是可选的
    可选的
    关键字。我在你的客户截图中没有看到一个复选框表明它可以处理
    可选的
    选项。可选的(我喜欢这个词)考虑输出<代码> xLs<代码> >代码> CSV ,其中输出双引号的每个字段,呈现可选的<代码>可选的关键字多余,这样您就可以使用MySQL客户端。对于这种工作,我是VBA的大粉丝,但我可以肯定地说,过去我使用libOffice弹出一个XLS文件到GAI。n更多地控制数据的导出。