每天学习一点点,成功增加一大步

mysql 一个字段多个值

MYSQL zhanghui 116℃

有时我们会遇到一个商品的一个特性有多个属性值时,就会将这个字段的值以中间用英文逗号(,)来分隔多个值的字符串来存储,那么在查表时就需要根据多个值查询出匹配的结果。那么 mysql 对这种字段的操作也有多种。

在一个字段中添加一个值 使用“,”隔开

update table set username=CONCAT(username,',添加的值') where id=1

一个字段多个值,修改其中的一个

update table set username=replace(username,'原来的值','新值') 

一个列有多个值,查询字段中是否包含某个值

select *  from table where find_in_set('admin',username)

删除指定字段

UPDATE sys_user SET username= REPLACE(username, ',1', '')
where id ='123'
UPDATE sys_user SET username= REPLACE(username, '1,', '')
where id ='123'

合并结果集并去除重复值

select distinct dd.id,dd.name,dd.use_for from (
(select * from device_basic_info where FIND_IN_SET('21',USE_FOR)
UNION all
(select * from device_basic_info where FIND_IN_SET('22',USE_FOR)
) dd

转载请注明:隨習筆記 » mysql 一个字段多个值

喜欢 (0)