一尘不染

导入CSV到MySQL

mysql

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

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

我没有运气就尝试了这些指示。谁能提供一些见识?

  1. CSV文件的列名必须与表中的列名匹配
  2. 浏览到所需的.csv文件
  3. 使用LOAD DATA选项选择CSV
  4. 复选框“ ON”,用于 用文件替换表数据
  5. 在“ 字段终止者” 框中,键入,
  6. 在框内的 字段 中,"
  7. “按字段转义的字段” 中,\
  8. 在以 行结尾的 框中,auto
  9. 列名 框中,键入列名相隔,column1,column2,column3
  10. 使用LOCAL关键字的 复选框为ON 。

编辑:

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

阅读 289

收藏
2020-05-17

共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;
2020-05-17