Kết hợp INSERT INTO ... SELECT với GROUP_CONCAT() để gộp nhiều hàng thành một chuỗi rồi chèn vào bảng khác.
Bảng nguồn
mysql> CREATE TABLE DemoTable1(Name VARCHAR(100));
Query OK, 0 rows affected (0.55 sec)
mysql> INSERT INTO DemoTable1 VALUES('Chris'), ('Robert'), ('Adam'), ('Bob');
Query OK, 4 rows affected
Bảng đích
mysql> CREATE TABLE DemoTable2(ListOfEmployee TEXT); Query OK, 0 rows affected (0.59 sec)
Chèn dữ liệu gộp từ bảng 1 sang bảng 2
mysql> INSERT INTO DemoTable2(ListOfEmployee) SELECT GROUP_CONCAT(Name) FROM DemoTable1; Query OK, 1 row affected (0.20 sec)
Kết quả:
+-----------------------+ | ListOfEmployee | +-----------------------+ | Chris,Robert,Adam,Bob | +-----------------------+ 1 row in set (0.00 sec)
Lưu ý: GROUP_CONCAT có giới hạn độ dài mặc định 1024 ký tự (biến group_concat_max_len). Với dữ liệu lớn, cần tăng giá trị này hoặc xử lý theo batch.