gpt4 book ai didi

php - 使用 php 将 csv 上传到 MySQL 并更新

转载 作者:行者123 更新时间:2023-11-29 06:20:20 25 4
gpt4 key购买 nike

好的,我有一个名为 requests 的数据库表,其结构如下

mysql> desc requests;
+------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| artist | varchar(255) | YES | | NULL | |
| song | varchar(255) | YES | | NULL | |
| showdate | date | YES | | NULL | |
| amount | float | YES | | NULL | |
+------------+--------------+------+-----+---------+----------------+

这是一些示例数据

+----+-----------+-------------------------+------------+--------+
| id | artist | song | showdate | amount |
+----+-----------+-------------------------+------------+--------+
| 6 | Metallica | Hello Cruel World | 2010-09-15 | 10.00 |
| 7 | someone | Some some | 2010-09-18 | 15.00 |
| 8 | another | Some other song | 2010-11-10 | 45.09 |
+----+-----------+-------------------------+------------+--------+

我需要一种方法,能够为用户提供上传具有相同结构的 csv 的方法,并根据 csv 中的内容更新或插入。我在网上找到了很多脚本,但大多数都有硬编码的 csv,这不是我需要的。我需要用户能够上传 csv...用 php 很容易吗...

这是一个 csv 示例

id  artist          song           showdate    amount
11 NewBee great stuff 2010-09-15 12.99
10 anotherNewbee even better 2010-09-16 34.00
6 NewArtist New song 2010-09-25 78.99

如您所见,我的 id 6 已在数据库中,需要更新。另外两个将被插入

我并不是要求某人编写整个脚本,但如果我可以在上传方面获得一些指导,然后从那里去哪里......谢谢

最佳答案

创建如下存储过程并测试它。这是作品

CREATE proc csv

(
@id int,
@artist varchar(50),
@songs varchar(100),
@showdate datetime,
@amount float
)
as
set nocount on

if exists (select id from dummy1 where id=@id) -- Note that dummy1 as my table.

begin
update dummy1 set artist= @artist where id=@id
update dummy1 set songs=@songs where id=@id
update dummy1 set showdate=@showdate where id=@id
update dummy1 set amount=@amount where id=@id
end
else
insert into dummy1 (artist,songs,showdate,amount)values(@artist,@songs,@showdate,@amount)
Go

关于php - 使用 php 将 csv 上传到 MySQL 并更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4066505/

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