规范化现有数据; varchar 列表到整数

normalizing existing data; varchar list to integers

标准化我十年前制作的现有 table。我有一个 varchar 列(平台),其中包含我想分解并放入单独的 table.

中的数字列表
[table_A]
  id int
  platforms varchar
  other fields....

平台示例如下所示:

"1,3,4,7"

那些数字 link 到另一个 table 称为平台,它只不过是一个匹配的 ID 和一个 varchar 字段(描述)。我创建了一个新的 table 来建立 table_A 和平台之间的关联。

[Table_B]
  id int
  table_A_id int
  platform_id

所以对于上面的平台示例,我会在 Table_B 中插入 4 行。我的问题是,我可以通过 SQL 严格执行此操作吗?我唯一能想到的就是编写一个 php 脚本来解析 varchar 并在 table_A 中的每一行上进行单独的插入。有没有不借助外部脚本的更优雅的方式?

INSERT INTO Table_B (table_A_id, platform_id)
 SELECT a.id, p.id
 FROM table_A AS a JOIN Platforms AS p ON FIND_IN_SET(p.ID, a.platforms);