MySQL: Komma-getrennte Liste in mehrere Zeilen aufteilen
Nicht normalisierte Tabellen stellen eine Herausforderung dar, wenn es um Fremdschlüssel geht, die als Komma-getrennte Schlüssel gespeichert sind. getrennte Listen. MySQL bietet keine direkte Lösung für dieses Problem mit einer Funktion, die eine Tabelle zurückgibt. Eine Problemumgehung kann jedoch durch eine Kombination von Techniken erreicht werden.
Verwenden einer Join-Operation:
Um einer durch Kommas getrennten Liste beizutreten, verwenden Sie FIND_IN_SET() Funktion, um zu bestimmen, ob ein Wert im anderen vorhanden ist. Dadurch können Sie eine Verknüpfung zwischen Ihren Tabellen basierend auf bestimmten Elementen in den Listen erstellen. Zum Beispiel:
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;
Erstellen einer neuen Tabelle mit INSERT:
Ein anderer Ansatz besteht darin, eine neue Tabelle zu erstellen, in der die Teilungswerte gespeichert werden. Sie können eine Abfrage verwenden, die die durch Kommas getrennten Werte durchläuft und sie in die neue Tabelle einfügt. Zum Beispiel:
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;
Diese Abfrage erstellt eine neue Tabelle mit den geteilten Werten, wobei jede part_id einen separaten Eintrag für jede material_id in der durch Kommas getrennten Liste hat.
Durch Verwendung dieser Techniken , können Sie durch Kommas getrennte Listen in MySQL effektiv in mehrere Zeilen aufteilen, sodass Sie strukturierter und zugänglicher mit den Daten arbeiten können.
Das obige ist der detaillierte Inhalt vonWie kann ich durch Kommas getrennte Listen in MySQL effizient in mehrere Zeilen aufteilen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!