目前有三张表, 1: goods 商品主表 id name price
2: goods_type 商品类型表 tid name
3: goods_type_map 商品和商品类型关系表 id gid gtid
之前的表结构如上,现由于商品对应类型可以为一对多,一件商品可以对应多个类型,我每次更新商品所属类型时需要现将关系表已存在的内容删除再插入新的类型关系。
goods 表:
id name price goods_type
1 洗面奶 22 1,8
2 面膜 33 11
goods_type表
tid name
1 化妆品
8 护肤品
11 保健品
故想更改为: 在商品主表中增加 goods_type 字段,来取代goods_type_map表,多个类型使用逗号隔开.
但目前出现问题,当查询某个类型的商品时,使用Like查询会经常查询错误。 所以想问下这种情况应该怎么处理
大家讲道理2017-05-16 12:04:51
用like并不是一个好的选择,推荐一个Mysql函数find_in_set应该能解决楼主需求。官方文档:https://dev.mysql.com/doc/ref...
PHPz2017-05-16 12:04:51
你在使用like的时候 比如有这样一个值 1,2,11 like 1 会like到 1和11
这种情况请使用find_in_set
如果你非要使用like,字段值 可以这样 ,1,2,11, 你like的时候 like ,1, 也可以达到目的