问题描述
开发商品多属性筛选时并没有分出一个属性单独的表,多选的属性都放在同一个字段 arr:"蓝色,红色,白色,天蓝色"里面并用“,”进行分割。
开始我使用的是 like 的方法
select * from attrs where attr like '%蓝色%'
但是前台做筛选时,选中“蓝色”这个属性之后,天蓝色却也显示出来了。
后来发现mysql 中有一个 find_in_set 函数可以解决这个问题
select * from attrs where attr FIND_IN_SET('蓝色' ,attr);
再次查询出来的数据中并没有了“天蓝色” 这条数据了。
如果有一同学习java的同学可以加我qq裙:636984730,一起交流。
网友评论