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中文網其他相關文章!