【发布时间】:2012-11-08 01:35:29
【问题描述】:
我正在尝试搜索其成分中不包含任何搜索词的食谱表。每个配方的成分存储在一个字段中,以逗号分隔。
我尝试过使用 WHERE NOT MATCH...AGAINST,但这在我搜索豌豆时不起作用。它将返回带有豌豆蛋白的结果。我不需要那个。这也是复数的问题。
我尝试使用 NOT REGEXP,但我对正则表达式不太熟悉,而且我过去两天所做的所有谷歌搜索都没有产生结果。
有什么方法可以在此表中的该字段中搜索多个值并在结果中排除它们?
【问题讨论】:
-
我会把配料放在不同的表中:reciperecipe_ingredientingredients
-
或者你可以使用
NOT FIND_IN_SET()。 -
我试过 FIND_IN_SET 无济于事。它仍然遇到豌豆的问题!这是针对过敏数据库的,所以如果有人对豌豆过敏,我不能在结果中含有豌豆纤维或豌豆蛋白。这只是一个例子case1352如果我把配料我仍然有同样的问题不是吗?我不是数据库设计方面的专家,所以如果这是更好的方法,但我仍然需要搜索它
-
我开始认为我的第一种方法是最好的,但不匹配。那么我可以添加到我的 PHP 以包含类似的术语来搜索和排除?
-
你能展示一下你的表结构吗?
标签: php mysql regex search comma