好的,我最近一小时一直在阅读并尝试将 CSV 文件从访问权限导入 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';
据我所知,它在数据库中看起来不错,除了开始字段,这不是目前的主要问题。
edit2:我已经序列化了结果,这是输出到屏幕的内容:
i:0;
我完全不知道那是什么意思。
编辑3:我曾尝试更新由分隔符终止的,并且在将 \" 更改为 ; 问题仍然存在,数据没有被放入正确的列等......,我不明白我错过了什么。