我在mysql中有两个表,一个有一些数据,另一个将用这些数据填充,但是-表中有一个字段有逗号分隔的值,我需要使用这些值来创建单独的(类似的)记录。
例如:数据表: "students"
表格数据的截图来自
数据将进入一个名为 "student_season_cross"
并将填充名为 "student_id"
以及 "league_id"
,但我希望它将新记录基于原始表中的“旧联盟”。
例如,原始表中的数据如下所示:
student_id | old_leagues
38 | 9, 33
39 | 8
40 | 3, 46
将按以下方式填充新表:
ss_index | student_id | league_id
auto increment | 38 | 9
auto increment | 38 | 33
auto increment | 39 | 8
auto increment | 40 | 3
auto increment | 40 | 46
我本以为这是某种循环,但我就是绕不过去。有什么想法吗?
1条答案
按热度按时间nfeuvbwi1#
这是为数不多的
FIND_IN_SET
很方便。可以使用此函数检索逗号分隔列表的(特定)段。使用这个,我们可以将任何学生记录加入到可用联盟的记录中;结果是:这是你可以使用的地方
FIND_IN_SET
决定学生参加一个联盟。我还假设一个名为leagues
你所有的联盟身份证都在哪里leagues.id
:您必须原谅我目前无法测试这一点,因为我正在升级我的开发服务器,但希望您可以从这里收集到一个有效的答案。