MySQL データベースに配列を格納するメソッド
MySQL はネイティブに配列をサポートしていませんが、配列のようなデータを格納するための代替アプローチを提供します。一般的な方法の 1 つは、複数のテーブルを利用し、JOIN 操作を使用してテーブル間の関係を確立することです。
複数のテーブルの作成
質問で説明されているシナリオを考えてみましょう。果物の配列を Person テーブルの "fruits" 列に保存するには、次のテーブルを作成します:
person:
フルーツ:
person_fruit (リンクテーブル):
関係の確立
Person_Fruit テーブルはリンク テーブルとして機能し、多対Person テーブルと Fruit テーブルの間には多くの関係があります。このテーブルの 1 行は、特定の人物と特定の果物の間の関係を表します。
配列のようなデータの保存
ある人の果物の配列を格納するには"fruits" 列では、各行が 1 つの果物を表す複数の行を Person_Fruit テーブルに挿入します。
たとえば、次のようにします。 id=1 の人の果物「リンゴ」、「オレンジ」、「バナナ」を保存し、次の行を Person_Fruit に挿入します:
(1, "apple") (1, "orange") (1, "banana")
配列のようなデータの取得
人の果物の配列を取得するには、次のコマンドを使用して、person、person_fruit、および 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 中国語 Web サイトの他の関連記事を参照してください。