现在我打算在我的网站上添加一个过滤系统.
例子:
(ID=apple, COLOR=red, TASTE=sweet, ORIGIN=US)
(ID=mango, COLOR=yellow, TASTE=sweet, ORIGIN=MEXICO)
(ID=banana, COLOR=yellow, TASTE=bitter-sweet, ORIGIN=US)
Run Code Online (Sandbox Code Playgroud)
所以现在我有兴趣做以下事情:SELECT ID FROM thisTable WHERE COLOR ='yellow'AND TASTE ='SWEET'
但我的问题是我在我的网站中为多个类别执行此操作,并且列不一致.(如果桌子是用于手机,那么它将是品牌,3G-ENABLED,价格,颜色,波长等)
我怎么能设计一个允许这个的通用模式?
现在我正计划做:
table(ID, KEY, VALUE)
Run Code Online (Sandbox Code Playgroud)
这允许任意数量的列,但对于查询,我使用SELECT ID FROM表WHERE(KEY = X1 AND VALUE = V1)AND(KEY = X2 AND VALUE = V2),..返回空集.
有人可以推荐一个很好的解决方案吗?请注意,列数将定期更改