在MySQL 資料庫中儲存數組的方法
雖然MySQL 本身不支援數組,但它提供了儲存類似數組的資料的替代方法。一種常見的方法是利用多個表並使用 JOIN 操作在它們之間建立關係。
建立多個表格
考慮問題中所描述的場景。要將水果陣列儲存在 Person 表的「fruits」欄位中,我們可以建立以下表格:
Person:
水果:
fruit_name (VARCHAR(20))
建立關係
Person_Fruit 表用作連結表,以建立多對多關係表和Fruit 表之間有許多關係。表中的一行表示特定的人和特定的水果之間的關係。(1, "apple") (1, "orange") (1, "banana")
儲存一個人的一組水果「fruits」列,在 Person_Fruit 表中插入多行,每行代表一個水果。
例如,儲存水果對於id=1 的人,“apple”、“orange”和“banana”,請將以下行插入到Person_Fruit 中:
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`
以上是如何在 MySQL 中儲存和檢索類似數組的資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!