我已经创建了一个数据库和一个表。我还创建了我将需要的所有字段。我已经创建了46个字段,其中一个是我的行ID。CSV不包含ID字段,也不包含列的标题。我对这一切都是新手,但我一直在努力弄清楚这一点。我在这里并不是懒惰地询问答案,而是在寻找方向。
我正在尝试弄清楚如何导入CSV,但让它从第二个字段开始导入数据,因为我希望auto_increment会填写ID字段,这是我创建的第一个字段。
我尝试了这些说明,但没有成功。有人能提供一些见解吗?
键入由,
分隔的列名,如使用LOCAL关键字时使用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
发布于 2010-06-12 04:09:23
您可以在导入过程中让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;
发布于 2010-06-12 03:56:52
请看这一页,看看它是否有你正在寻找的东西。这应该是您所需要的全部,因为您只处理一个表。MYSQL LOAD DATA INFILE
因此,例如,您可能会这样做:
LOAD DATA INFILE 'filepath' INTO TABLE 'tablename' FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' (column2, column3, column4);
这应该会给你一个想法。当然,还可以添加更多选项,如上面的链接所示。
发布于 2013-06-21 05:40:07
如果导入文件是本地文件,请确保使用LOAD DATA local INFILE。:)
https://stackoverflow.com/questions/3025648
复制相似问题