Methoden zum Speichern von Arrays in der MySQL-Datenbank
Obwohl MySQL Arrays nicht nativ unterstützt, bietet es alternative Ansätze zum Speichern arrayähnlicher Daten. Eine gängige Methode besteht darin, mehrere Tabellen zu verwenden und mithilfe von JOIN-Operationen Beziehungen zwischen ihnen herzustellen.
Erstellen mehrerer Tabellen
Betrachten Sie das in der Frage beschriebene Szenario. Um eine Reihe von Früchten in der Spalte „Früchte“ der Personentabelle zu speichern, können wir die folgenden Tabellen erstellen:
Person:
Frucht:
Person_Fruit (Verknüpfungstabelle):
Etablierung Beziehungen
Die Tabelle „Person_Fruit“ dient als Verknüpfungstabelle und erstellt eine Viele-zu-Viele-Beziehung zwischen den Tabellen „Person“ und „Fruit“. Eine Zeile in dieser Tabelle stellt eine Beziehung zwischen einer bestimmten Person und einer bestimmten Frucht dar.
Array-ähnliche Daten speichern
Um eine Reihe von Früchten für eine Person zu speichern Fügen Sie in der Spalte „Früchte“ mehrere Zeilen in die Tabelle „Person_Fruit“ ein, wobei jede Zeile eine Frucht darstellt.
Um beispielsweise die Früchte „Apfel“ zu speichern, „Orange“ und „Banane“ für eine Person mit der ID=1, fügen Sie die folgenden Zeilen in Person_Fruit ein:
(1, "apple") (1, "orange") (1, "banana")
Array-ähnliche Daten abrufen
An Rufen Sie das Array an Früchten für eine Person ab und verknüpfen Sie die Tabellen Person, Person_Fruit und Fruit mit der folgenden Abfrage:
SELECT p.`name` AS `person_name`, GROUP_CONCAT(f.`fruit_name`) AS `fruits` FROM Person AS p INNER JOIN Person_Fruit AS pf ON p.`id` = pf.`person_id` INNER JOIN Fruit AS f ON pf.`fruit_name` = f.`fruit_name` GROUP BY p.`name`
Das obige ist der detaillierte Inhalt vonWie kann ich Array-ähnliche Daten in MySQL speichern und abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!