Heim > Datenbank > MySQL-Tutorial > Wie kann ich durch Kommas getrennte Listen in MySQL effizient in mehrere Zeilen aufteilen?

Wie kann ich durch Kommas getrennte Listen in MySQL effizient in mehrere Zeilen aufteilen?

DDD
Freigeben: 2025-01-06 11:59:48
Original
399 Leute haben es durchsucht

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

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;
Nach dem Login kopieren

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;
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage