gpt4 book ai didi

MySQL 将 csv 字段映射到数据表中的特定字段

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

SQL 新手,尝试将 CSV 文件加载到我的数据表中,其中 CSV 中的列与表中的相同顺序不匹配。 CSV 中也没有 PK

为了说明这一点,这是我的 CSV 和 SQL 表的片段

csv1、csv2、csv3、csv4...

sql1(PK),sql2,sql3,sql4,sql5...

负载需要这样进行

csv1 -> sql2
csv2 -> sql3
csv3 -> sql4

除了使用以下方法来实现我想要的之外,还有其他方法吗

load data local infile 'xxx'
into table tbl_x
fields terminated by ','
lines terminated by '\r\n'
ignore 4 lines
(@csv1,@csv2,@csv3,@csv4)
set
sql2 = @csv1,
sql3 = @csv2,
sql4 = @csv3;

最佳答案

您可以将 CSV 数据加载到临时表中,然后将该数据插入到所需的目标表中。

LOAD DATA LOCAL INFILE 'xxx'
INTO TABLE tbl_temp
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\r\n'
IGNORE 4 LINES

然后使用INSERT INTO ... SELECT来填充tbl_x:

INSERT INTO tbl_x (sql1, sql2, sql3, ...)
SELECT NULL, csv1, csv2, ...
FROM tbl_temp

通过将 NULL 插入主键列,MySQL 应自动递增该列。

关于MySQL 将 csv 字段映射到数据表中的特定字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38697337/

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