在 Oracle 数据库中,有时我们需要将一行数据拆分为多行,并将其插入到另一个表中。这在某些情况下非常有用,例如将一张包含多个值的表扩展成多个行,或者将表中的数组或集合拆分为单独的行。然而,在 MySQL 中没有直接的内置函数来实现这一操作。在本文中,我将向您展示如何使用 MySQL 来实现类似于 Oracle 数据行拆分成多行的功能。
假设我们有一个名为 source_table
的表,其中包含以下数据:
+----+---------+
| ID | Values |
+----+---------+
| 1 | A,B,C |
| 2 | D,E |
+----+---------+
我们希望将 Values
列中的每个值拆分为单独的行,并将其插入到名为 target_table
的新表中,结果如下所示:
+----+-------+
| ID | Value |
+----+-------+
| 1 | A |
| 1 | B |
| 1 | C |
| 2 | D |
| 2 | E |
+----+-------+
下面是实现该功能的步骤: