【问题标题】:Import CSV to MySQL将 CSV 导入 MySQL
【发布时间】:2011-03-02 19:46:53
【问题描述】:

我已经创建了一个数据库和一个表。我还创建了我需要的所有字段。我创建了 46 个字段,其中一个是我的行 ID。 CSV 不包含 ID 字段,也不包含列的标题。我对这一切都很陌生,但一直在努力解决这个问题。我不是在这里懒惰地寻求答案,而是在寻找方向。

我试图弄清楚如何导入 CSV,但让它从第二个字段开始导入数据,因为我希望 auto_increment 将填写 ID 字段,这是我创建的第一个字段。

我尝试了这些说明,但没有成功。谁能提供一些见解?

  1. CSV 文件的列名必须与表的列名匹配
  2. 浏览到所需的 .csv 文件
  3. 使用 LOAD DATA 选项选择 CSV
  4. 用文件替换表格数据的复选框“打开”
  5. 字段终止于框中,输入,
  6. 框包围的字段中,"
  7. 字段转义框中,\
  8. 行终止于框中,auto
  9. 列名框中,键入以, 分隔的列名,例如column1,column2,column3
  10. 使用 LOCAL 关键字复选框打开。

编辑:

CSV 文件大小为 32.4kb

我的 CSV 的第一行是:

Test Advertiser,23906032166,119938,287898,,585639051,287898 - Engager - 300x250,88793551,Running,295046551,301624551,2/1/2010,8/2/2010,Active,,Guaranteed,Publisher test,Maintainer test,example-site.com,,All,All,,Interest: Dental; custom geo zones: City,300x250,-,CPM,$37.49 ,"4,415","3,246",3,0,$165.52 ,$121.69 ,"2,895",805,0,0,$30.18 ,$37.49 ,0,$0.00 ,IMPRESSIONBASED,NA,USD

【问题讨论】:

  • 您尝试过使用 PHPMyAdmin 吗?
  • @Kerry: 他列出了 phpMyAdmin 的说明,所以我同意。
  • 感谢您的回复,我发布的说明是我在 phpMyAdmin 中使用的,但我的信息被丢弃了。我在某处读到,他们最好的方法是让 csv 上的列标题反映我表中的字段。这是正确的吗?

标签: mysql csv load-data-infile


【解决方案1】:

您可以在导入期间让 MySQL 为某些列设置值。如果您的 id 字段设置为自动递增,您可以在导入期间将其设置为 null,然后 MySQL 将为其分配递增值。尝试在 phpMyAdmin 的 SQL 选项卡中添加这样的内容:

LOAD DATA INFILE 'path/to/file.csv' INTO TABLE your_table FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' SET id=null;

【讨论】:

    【解决方案2】:

    请查看此页面,看看是否有您要查找的内容。应该是你所需要的,因为你只处理一张桌子。 MYSQL LOAD DATA INFILE

    例如,您可能会这样做:

    LOAD DATA INFILE 'filepath' INTO TABLE 'tablename' FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' (column2, column3, column4);
    

    这应该会给你一个想法。当然可以添加更多选项,如上面的链接所示。

    【讨论】:

    • 谢谢你,我会试一试,看看我能不能弄明白。非常感谢。
    【解决方案3】:

    如果导入文件是本地文件,请务必使用 LOAD DATA LOCAL INFILE。 :)

    【讨论】:

    • 如果文件已经是本地文件,则不会。使用 LOCAL 可能会引入其他问题,例如“ERROR 1148 (42000): The used command is not allowed with this MySQL version”,不必要的意思是 MySQL 版本不兼容discussion about this。使用 LOCAL 可能需要检查其他设置,例如在标志的客户端和服务器端:local-infile。对我来说还是不行。
    猜你喜欢
    • 1970-01-01
    • 2017-02-04
    • 1970-01-01
    • 2016-08-03
    • 2012-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多