【发布时间】:2017-05-17 08:43:07
【问题描述】:
我正在研究电子商务平台的搜索算法。该平台能够为不同的产品创建变体,并且产品的所有可用变体都包含在逗号分隔的列中。这是所有字段。
-
product_id- 例如 1 -
variation_combo- 例如 54,35,49(这些是不同变体的逗号分隔 ID) -
product_name- 例如“耐克品牌 T 恤”
这是我想要实现的目标,例如
SELECT product_id FROM table where variation_combo contains 35 AND 54 AND 49SELECT product_id FROM table where variation_combo contains 35 AND 54SELECT product_id FROM table where variation_combo contains 49
【问题讨论】:
-
永远不要将数据存储为逗号分隔值。只会给你带来很多麻烦。
-
拥有这样的
variation_combo是一个设计缺陷。考虑将列表值存储在明细表中。 -
是的,我知道这一点。但是我正在开发的软件有这个缺陷,现在改变它真的很难。所以我们决定继续前进。
标签: php mysql sql regex database