mysql - 导入 CSV 到 MySQL

标签 mysql csv load-data-infile

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

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

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

  1. CSV 文件的列名必须与表格中的列名相匹配
  2. 浏览到您需要的 .csv 文件
  3. 使用加载数据选项选择 CSV
  4. 用文件替换表数据选中“打开”复选框
  5. Fields terminated by 框中,键入 ,
  6. 框包围的字段中,"
  7. Fields escape by 框中,\
  8. Lines terminated by 框中,auto
  9. Column names 框中,键入由 , 分隔的列名称,例如 column1,column2,column3
  10. 使用本地关键字勾选复选框。

编辑:

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

最佳答案

您可以让 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;

关于mysql - 导入 CSV 到 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3025648/

相关文章:

mysql - 如何将 mysql workbench 连接到托管数据库

python - 如何将 X 量的先前数据拉入 CSV 中的行

.net - 如何在 CsvHelper CsvWriter 中保留前导零?

php - 使用php批量插入数据到MySQL数据库

php - 检索导入的 CSV 的 ID(LOAD DATA INFILE)

php - LOAD DATA LOCAL INFILE 失败 - 从 php 到 mysql(在 Amazon rds 上)

mysql - 组 SQL 2 表

php - 使用ajax设置 session 变量

mysql - 从多个表和字符串中选择

php - 在 excel 中打开 CSV 文件会更改我的格式