好吧,我刚刚阅读并尝试在最后一小时将csv文件从access导入到mysql中,但无论我尝试什么,我都无法正确地执行此操作.
我的桌子是这样的:
+-----------------+------------- | Field | Type +-----------------+------------- | ARTICLE_NO | varchar(20) | ARTICLE_NAME | varchar(100) | SUBTITLE | varchar(20) | CURRENT_BID | varchar(20) | START_PRICE | varchar(20) | BID_COUNT | varchar(20) | QUANT_TOTAL | varchar(20) | QUANT_SOLD | varchar(20) | STARTS | datetime | ENDS | datetime | ORIGIN_END | datetime | SELLER_ID | varchar(20) | BEST_BIDDER_ID | varchar(20) | FINISHED | varchar(20) | WATCH | varchar(20) | BUYITNOW_PRICE | varchar(20) | PIC_URL | varchar(20) | PRIVATE_AUCTION | varchar(20) | AUCTION_TYPE | varchar(20) | INSERT_DATE | datetime | UPDATE_DATE | datetime | CAT_1_ID | varchar(20) | CAT_2_ID | varchar(20) | ARTICLE_DESC | varchar(20) | DESC_TEXTONLY | varchar(20) | COUNTRYCODE | varchar(20) | LOCATION | varchar(20) | CONDITIONS | varchar(20) | REVISED | varchar(20) | PAYPAL_ACCEPT | tinyint(4) | PRE_TERMINATED | varchar(20) | SHIPPING_TO | varchar(20) | FEE_INSERTION | varchar(20) | FEE_FINAL | varchar(20) | FEE_LISTING | varchar(20) | PIC_XXL | tinyint(4) | PIC_DIASHOW | tinyint(4) | PIC_COUNT | varchar(20) | ITEM_SITE_ID | varchar(20)
哪个应该没问题,我的数据目前以分号分隔,因此我的csv文件中的一行示例如下:
"110268889894";"ORIGINAL 2008 ED HARDY GÜRTEL* MYSTERY LOVE * M *BLACK";"";0,00 €;0,00 €;0;1;0;8.7.2008 17:18:37;5.11.2008 16:23:37;6.10.2008 17:23:37;29;0;0;0;125,00 €;"";0;2;6.10.2008 16:21:51;6.10.2008 14:19:08;80578;0;;0;77;"";0;0;1;0;-1;0,00 €;0,00 €;0,00 €;0;0;0;77 "110293328957";"Orig. Ed Hardy Shirt - Tank Top - Gr. XS- OVP/NEU";"";25,05 €;0,00 €;7;1;0;27.9.2008 06:26:27;6.10.2008 18:26:21;6.10.2008 18:26:21;49;0;0;0;0,00 €;"";0;1;6.10.2008 16:21:56;6.10.2008 16:33:20;31058;0;;0;77;"";1;0;0;0;-1;0,00 €;0,00 €;0,00 €;0;0;0;77
我使用一个简单的PHP页面来输出表数据,这是完全错误的.问题不在于php页面是一个简单的表格,只有文本显示完美.我想知道我是否选择了不正确的字段类型或列不匹配,但我认为没有理由这样.可能发生了什么事,因为数据试图显示为HTML?
我试图尽可能地保持这个问题,并不是像其他人所建议的那样要求人们为我做这件事,但老实说,我无法看到问题所在.
编辑:当试图通过php显示数据时,此时页面是完全黑色的,一些表格单元格有边框而其他表格没有,当尝试不同的分隔符时,其他字段与列不匹配.启动字段从未正确显示.
我使用以下命令从CSV文件加载文件:
LOAD DATA LOCAL INFILE 'C:/Dokumente und Einstellungen/hom/Desktop/tblAuction.txt' INTO TABLE Auctions FIELDS TERMINATED BY '\"' LINES TERMINATED BY '\n';
除了启动字段之外,它在DB中看起来很好,这不是目前的主要问题.
edit2:我已经将结果序列化了,这就是输出到屏幕的内容:
i:0;
我完全不知道这意味着什么.
edit3:我曾尝试用分隔符更新终止,并在更改\"to to;问题仍然是数据没有被放入正确的列等...,我不明白我错过了什么..
您的字段以";"结尾 没变
FIELDS TERMINATED BY '\"'
至
FIELDS TERMINATED BY ';'
你也可以添加它:
OPTIONALLY ENCLOSED BY '"'
我认为这是你试图用TERMINATED BY子句做的.