【问题标题】:Error #1060 when importing csv in phpmyadmin - extra null columns在 phpmyadmin 中导入 csv 时出现错误 #1060 - 额外的空列
【发布时间】:2012-09-17 12:09:16
【问题描述】:

我怎样才能摆脱这些空列? 我正在导入我的 csv 文件以在 phpMyAdmin 上创建一个表。 sql 查询看起来很合适,但最后,我得到...

`Category 1` VARCHAR( 97 ) ,
`Category 2` VARCHAR( 113 ) ,
`NULL` VARCHAR( 71 ) ,
`NULL` VARCHAR( 56 ) ,
`NULL` VARCHAR( 73 ) ,
`NULL` VARCHAR( 97 )
) ENGINE = MYISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

MySQL said: 

#1060 - Duplicate column name 'NULL'

类别 2 应该是最后一列。我无法弄清楚空列的来源,或者如何摆脱它们。原始文件以 .xls 格式提供给我。我做了一些更改并保存为 csv。我曾经上传一个 xls 文件(从来没有问题),但我认为我们的 cPanel 升级了,所以一切都改变了。

到目前为止,我已经尝试在 OpenOffice 中删除 4+ 列。我尝试在记事本中打开 csv 并确保没有多余的逗号或空格,添加 / 以进行转义。我试过摆弄 phpMyAdmin 中的导入选项,但我不是专家,所以那里没有运气。

【问题讨论】:

    标签: csv import phpmyadmin mysql-error-1060


    【解决方案1】:

    对我来说,我必须选择:

    ,

    分隔的列

    "

    括起来的列

    使用 "

    转义的列

    auto

    结尾的行

    并检查文件的第一行包含表列名

    【讨论】:

      【解决方案2】:

      遇到了这个问题,对我来说修复它的方法不是很直观。

      在导入设置中,我检查了 [ " ] 括起来的列。

      这似乎解决了它并且所有导入都很好(据我所知)。

      【讨论】:

        【解决方案3】:

        我在上传两次 cvs 时遇到了类似的情况。 PHPMyAdmin 抱怨一个最后有 2 个 NULL 列,另一个有 6 个。 以为我会通过添加额外的假列来“修复”它,但没有。

        原来有些数据有双引号,让mysql误以为列数有误。

        只需检查所有数据以确保其干净... 我知道它更多的是解决而不是修复。但我能在短时间内做到最好。

        【讨论】:

        • 我找到了一个不错的免费工具来检查错误。我还不能修复它,但是...csvlint.io
        • 我修好了。给你一个很好的检查。对我来说,这是文本中存在的 ",使用逗号和 ; 相反......在记事本上手动进行定期替换一直有效,直到我通过测试。
        【解决方案4】:

        就我而言: 我将列分隔符从“更改为” 格式特定选项中的 phpMyAdmin 相同:从 " 更改为 '

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2016-05-18
          • 2011-08-17
          • 1970-01-01
          • 2020-11-08
          • 2016-08-09
          • 1970-01-01
          • 2017-08-08
          • 1970-01-01
          相关资源
          最近更新 更多