在 MySQL 中存储数组
在 MySQL 中,不支持数组作为数据类型。但是,还有其他方法可以处理类似于数组的数据。
表和 JOIN 方法
一种方法是创建多个表并使用 JOIN 建立它们之间的关系。考虑以下模式:
CREATE TABLE person ( id INT NOT NULL PRIMARY KEY, name VARCHAR(50) ); CREATE TABLE fruits ( fruit_name VARCHAR(20) PRIMARY KEY, color VARCHAR(20), price INT ); CREATE TABLE person_fruit ( person_id INT, fruit_name VARCHAR(20), PRIMARY KEY (person_id, fruit_name) );
这里,person_fruit 表包含与一个人关联的每种水果的一行。这种方法可以让您存储基本上无限数量的水果。
示例:
person_id | fruit_name |
---|---|
1 | banana |
1 | apple |
1 | orange |
查询:
SELECT p.*, f.* FROM person p INNER JOIN person_fruit pf ON pf.person_id = p.id INNER JOIN fruits f ON f.fruit_name = pf.fruit_name;
此查询返回与某个人关联的所有水果。
以上是MySQL中如何存储类似数组的数据?的详细内容。更多信息请关注PHP中文网其他相关文章!