gpt4 book ai didi

mysql - 将不同的 id 连接到具有相同 id 的多个名称

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

大家好,

我在处理大量数据时遇到困难。我有一张 libreoffice 计算表(excel 表),其中包含大约 13k 条记录。2 栏:艺术家 - 歌曲

我希望将它们放入 mysql 数据库中,因此我创建了 2 个表:ArtistsSongsSongs 中使用外键到 Artists,因此歌曲记录需要具有有效的 artist_id。我已经正确插入了大约 5000 名不同艺术家的所有艺术家。该表适合我想要用它做的事情,所以没问题。

问题是我如何将艺术家的 id 连接到我的工作表第二列中的歌曲。我想要这个,这样我就可以创建 12k 插入查询并将它们直接粘贴到 phpmyadmin 中。

有任何提示、正则表达式或其他解决方案吗?

编辑

我的 Excel 工作表:

Artists     Songs              Artist (distinct)    Artist_id
Abba mamma mia abba 1
Abba waterloo greenday 2
Greenday american idiot

我的输出需要是:

INSERT INTO Songs Values (1, "mamma mia");
INSERT INTO Songs Values (1, "waterloo");
INSERT INTO Songs Values (2, "american idiot");

艺术家列表(不同)和艺术家 ID 的歌曲长度不同。这就是问题所在

最佳答案

所以你的songs表有字段artist_id |歌曲。您可以仅使用公式来创建 INSERT 语句(假设您的数据从第 1 行开始):

="INSERT INTO songs (artist_id, song) VALUES (" & Vlookup(A1, C:D, 2, false) & ",'" & B1 & "');"

我们使用 vlookup() 公式来获取 A1artistartist_id(假设您的 Artist (distinct) | Artist_Id 列是同一工作表中的 C:D

然后只需将其复制到第 12000 行即可。

如果 Excel 中的歌曲 中包含单引号,您可以将其转义,或者将其替换为空。

逃脱:

="INSERT INTO songs (artist_id, song) VALUES (" & Vlookup(A1, C:D, 2, false) & ",'" & SUBSTITUTE(B1, "'", "\'") & "');"

删除:

="INSERT INTO songs (artist_id, song) VALUES (" & Vlookup(A1, C:D, 2, false) & ",'" & SUBSTITUTE(B1, "'", "") & "');"

关于mysql - 将不同的 id 连接到具有相同 id 的多个名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36362892/

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