我已经创建了一个数据库和一个表。我还创建了我需要的所有字段。我创建了 46 个字段,其中一个是我的行 ID。 CSV 不包含 ID 字段,也不包含列的标题。我对这一切都很陌生,但一直在努力解决这个问题。我在这里不是懒惰地询问答案,而是寻找方向。
我正在尝试弄清楚如何导入 CSV 但让它从第二个字段开始导入数据,因为我希望 auto_increment 将填充 ID 字段,这是我创建的第一个字段。
我尝试了这些说明,但没有成功。谁能提供一些见解?
- CSV 文件的列名必须与表格中的列名相匹配
- 浏览到您需要的 .csv 文件
- 使用加载数据选项选择 CSV
- 为用文件替换表数据选中“打开”复选框
- 在 Fields terminated by 框中,键入
,
- 在由框包围的字段中,
"
- 在 Fields escape by 框中,
\
- 在 Lines terminated by 框中,
auto
- 在 Column names 框中,键入由
,
分隔的列名称,例如column1,column2,column3
- 为使用本地关键字勾选复选框。
编辑:
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/