gpt4 book ai didi

php - 如何在mysql中导入CSV?

转载 作者:太空宇宙 更新时间:2023-11-03 10:30:43 25 4
gpt4 key购买 nike

好吧,过去一个小时我一直在阅读并尝试将 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';

据我所知,它在数据库中看起来不错,除了 starts 字段,这不是目前的主要问题。

edit2:我已经序列化了结果,这是输出到屏幕的内容:

i:0;

我完全不知道那是什么意思。

edit3:我曾尝试更新由分隔符终止的字符,并将\"更改为 ; 问题仍然存在,即数据未放入正确的列等。我不明白我错过了什么。

最佳答案

您的字段以“;”结尾不是“\”。改变

 FIELDS TERMINATED BY '\"'

 FIELDS TERMINATED BY ';'

你也可以添加这个:

 OPTIONALLY ENCLOSED BY '"'

我认为这就是您尝试对 TERMINATED BY 子句执行的操作。

关于php - 如何在mysql中导入CSV?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/265117/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com