Speichern von Arrays in MySQL: Eine Lösung mit mehreren Tabellen
In MySQL ist das direkte Speichern von Arrays aufgrund des Fehlens eines Arrays nicht einfach Datentyp. Um Arrays von Zeichenfolgen zu speichern, die auf Werte aus einer anderen Tabelle verweisen, wird häufig ein Designansatz mit mehreren Tabellen verwendet.
Tabellendesign
Erstellen Sie zwei Tabellen: Person und Fruit. Person enthält den Namen und eine Fruchtspalte, in der Array-Daten gespeichert werden. Obst enthält den Fruchtnamen, die Farbe und den Preis.
CREATE TABLE Person ( `id` INT NOT NULL PRIMARY KEY, `name` VARCHAR(50), `fruits` VARCHAR(255) ); CREATE TABLE Fruit ( `fruit_name` VARCHAR(20) NOT NULL PRIMARY KEY, `color` VARCHAR(20), `price` INT );
Array-Daten speichern
Um ein Array von Fruchtnamen in der Fruchtspalte zu speichern, können Sie a verwenden durch Kommas getrennte Liste. Zum Beispiel:
INSERT INTO Person (`name`, `fruits`) VALUES ('John Doe', 'apple,banana,orange');
Abrufen von Array-Daten
Um das Array von Fruchtnamen für eine Person abzurufen, verwenden Sie eine JOIN-Abfrage, um die Personen- und Fruchttabellen basierend zu verknüpfen auf den Fruit_Name-Werten.
SELECT p.name, f.fruit_name FROM Person p INNER JOIN Person_Fruit pf ON pf.person_id = p.id INNER JOIN Fruit f ON f.fruit_name = pf.fruit_name;
Diese Abfrage gibt den Namen der Person und die mit ihr verbundenen Fruchtnamen zurück.
Das obige ist der detaillierte Inhalt vonWie kann ich mithilfe mehrerer Tabellen Datenarrays in MySQL effizient speichern und abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!