将不同的 ID 连接到具有相同 ID 的多个名称
Connect distinct id's to multiple names having same id
大家好,
我在处理大量数据时遇到困难。
我有一个 libreoffice calc sheet (excel sheet) 大约有 13k 条记录。
2 列:艺术家 - 歌曲
我想将它们放入 mysql 数据库中,所以我创建了 2 tables:Artists
、Songs
在 Songs
到 Artists
中有一个外键,所以歌曲记录需要有一个有效的 artist_id
。
我已经正确地插入了大约 5k 位不同艺术家的所有艺术家。
这个 table 适用于我想用它做的事情,所以没问题。
问题是我如何将艺术家的 ID 连接到 sheet 第二列中的歌曲。
我想要这个,所以我能够创建 12k 插入查询并将它们直接粘贴到 phpmyadmin 中。
任何提示、正则表达式或其他解决方案?
编辑
我的excelsheet:
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");
艺术家列表(不同)和 artist_id 的歌曲长度不同。就是这个问题
所以你的 songs
table 有字段 artist_id | song
。您可以只使用公式来制作 INSERT
语句(假设您的数据从第 1 行开始):
="INSERT INTO songs (artist_id, song) VALUES (" & Vlookup(A1, C:D, 2, false) & ",'" & B1 & "');"
我们使用 vlookup()
公式为 A1
中的 artist
获取 artist_id
(假设您的 Artist (distinct) | Artist_Id
列是 C:D
在同一个 sheet.
然后只需将其复制到第 12000 行即可。
如果 excel 中的 song
中有单引号,您可以将其转义,或将其替换为空。
转义:
="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, "'", "") & "');"
大家好,
我在处理大量数据时遇到困难。 我有一个 libreoffice calc sheet (excel sheet) 大约有 13k 条记录。 2 列:艺术家 - 歌曲
我想将它们放入 mysql 数据库中,所以我创建了 2 tables:Artists
、Songs
在 Songs
到 Artists
中有一个外键,所以歌曲记录需要有一个有效的 artist_id
。
我已经正确地插入了大约 5k 位不同艺术家的所有艺术家。
这个 table 适用于我想用它做的事情,所以没问题。
问题是我如何将艺术家的 ID 连接到 sheet 第二列中的歌曲。 我想要这个,所以我能够创建 12k 插入查询并将它们直接粘贴到 phpmyadmin 中。
任何提示、正则表达式或其他解决方案?
编辑
我的excelsheet:
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");
艺术家列表(不同)和 artist_id 的歌曲长度不同。就是这个问题
所以你的 songs
table 有字段 artist_id | song
。您可以只使用公式来制作 INSERT
语句(假设您的数据从第 1 行开始):
="INSERT INTO songs (artist_id, song) VALUES (" & Vlookup(A1, C:D, 2, false) & ",'" & B1 & "');"
我们使用 vlookup()
公式为 A1
中的 artist
获取 artist_id
(假设您的 Artist (distinct) | Artist_Id
列是 C:D
在同一个 sheet.
然后只需将其复制到第 12000 行即可。
如果 excel 中的 song
中有单引号,您可以将其转义,或将其替换为空。
转义:
="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, "'", "") & "');"