首頁 > 資料庫 > mysql教程 > 如何在 MySQL 中有效地將逗號分隔的清單拆分為多行?

如何在 MySQL 中有效地將逗號分隔的清單拆分為多行?

DDD
發布: 2025-01-06 11:59:48
原創
439 人瀏覽過

How Can I Efficiently Split Comma-Separated Lists into Multiple Rows in MySQL?

MySQL:將逗號分隔的清單拆分為多行

在處理儲存為逗號的外鍵時,非標準化表提出逗號了挑戰-分開的清單。 MySQL 沒有提供使用傳回表的函數來直接解決此問題的方法。但是,可以透過組合技術來實現解決方法。

使用連接操作:

要加入逗號分隔的列表,請使用 FIND_IN_SET() 函數來決定一個值是否存在於另一個值中。這允許您根據清單中的特定元素在表之間建立聯接。例如:

SELECT part_id,
       vechicle_id
FROM vehicles
JOIN load_plan_configs ON FIND_IN_SET(vechicle_id, load_plan_configs.vehicle_ids)
WHERE load_plan_configs.id = 42;
登入後複製

使用 INSERT 建立新表:

另一種方法是建立一個將儲存拆分值的新表。您可以使用一個查詢來迭代逗號分隔的值並將它們插入到新表中。例如:

INSERT INTO new_table (part_id, material_id)
SELECT part_id,
       SUBSTRING(material, INSTR(material, ',') + 1) AS material_id
FROM table_with_comma_separated_values;
登入後複製

此查詢將建立一個包含分割值的新表,其中每個part_id對於逗號分隔清單中的每個material_id都有一個單獨的項目。

透過利用這些技術,您可以在 MySQL 中有效地將逗號分隔的清單拆分為多行,從而使您能夠以更結構化和易於存取的方式處理資料。

以上是如何在 MySQL 中有效地將逗號分隔的清單拆分為多行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板