在 MySQL 数据库中存储数组的方法
虽然 MySQL 本身不支持数组,但它提供了存储类似数组的数据的替代方法。一种常见的方法是利用多个表并使用 JOIN 操作在它们之间建立关系。
创建多个表
考虑问题中描述的场景。要将水果数组存储在 Person 表的“fruits”列中,我们可以创建以下表:
Person:
水果:
Person_Fruit(链接表):
建立关系
Person_Fruit 表用作链接表,创建一个多对多关系表Person 和 Fruit 表之间有很多关系。该表中的一行表示特定的人和特定的水果之间的关系。
存储类似数组的数据
存储一个人的一组水果“fruits”列,在 Person_Fruit 表中插入多行,每行代表一个水果。
例如,存储水果对于 id=1 的人,“apple”、“orange”和“banana”,请将以下行插入到 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中文网其他相关文章!