MySQL 中存储多值类数据:使用逗号分隔值还是关系表?

mysql 中存储多值类数据:使用逗号分隔值还是关系表?

mysql 中存储多值类数据

mysql 中存储多值类数据(如多个用户 id)时,可以使用几种方法,例如逗号分隔值或关系表。

使用逗号分隔值

这是一种简单的方法,只需将每个值用逗号分隔并存储在单个字段中即可。例如:

表结构:

错误表 (id int not null, 用户 id text not null)

插入数据:

insert into 错误表 (id, 用户 id) values (1, '1,2,3')

查询数据:

select * from 错误表 where 用户 id like '%2%'

使用关系表

这是一种更规范的方法,将数据存储在单独的表中,其中每个记录表示一个值。例如:

表结构:

错误表 (id int not null, 用户 id int not null)
用户表 (id int not null, 名称 text not null)

插入数据:

insert into 错误表 (id, 用户 id) values (1, 1)
insert into 错误表 (id, 用户 id) values (2, 1)
insert into 错误表 (id, 用户 id) values (3, 2)
insert into 用户表 (id, 名称) values (1, '用户 1')
insert into 用户表 (id, 名称) values (2, '用户 2')

查询数据:

SELECT u.名称, e.ID
FROM 错误表 e
JOIN 用户表 u ON u.ID = e.用户 ID
WHERE u.名称 = '用户 1'

此方法允许轻松查询和更新数据,同时保持数据完整性。

以上就是MySQL 中存储多值类数据:使用逗号分隔值还是关系表?的详细内容,更多请关注其它相关文章!