在 MySQL 中儲存陣列
在 MySQL 等關聯式資料庫管理系統中,本身不支援陣列。因此,在 MySQL 表中儲存數組是一個挑戰。
問題陳述:
考慮 MySQL 中的兩個表:
桌子人:
桌子水果:
目標是設計Person表中的fruits列,以便它可以儲存數組與 Fruit 表的 Fruit_name 列中的值相對應的字串。
解決方案:
為了解決這個問題,我們需要採用一種稱為「的關係建模技術」多對多關係。 「此技術涉及引入一個稱為「連接表」或「關聯表」的中間表來連結兩個主表。
在這種情況下,我們可以建立一個包含以下列的Person_Fruit 表:
此表將每個人與他們相關的水果聯繫起來。查詢:
到從表格中擷取資料及其相關水果,我們可以使用以下指令查詢:
結論:SELECT p.*, f.* 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;
透過使用多對多關係和中間表,我們可以有效地在MySQL中儲存和檢索數組,即使它們本身不受支援。
以上是在沒有原生數組支援的情況下,如何在 MySQL 中有效地儲存和檢索類似數組的資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!