gpt4 book ai didi

php - MYSQL 点赞+群

转载 作者:行者123 更新时间:2023-11-29 02:29:20 26 4
gpt4 key购买 nike

嗯,我遇到的问题主要是由数据库中的错误结构引起的。我正在为一家代码非常困惑且表格非常大的公司编写此代码,因此我认为这不是修复结构的选项。

无论如何,我的问题是我正在尝试以某种方式对字符串中不会单独存在的值进行分组...他们正在存储用逗号分隔的值......所以它就像

field: "category" value: 'var1, var2, var3'

我将使用此查询进行搜索:

SELECT name, category 
FROM companies
WHERE (MATCH(name, category) AGAINST ('$search' IN BOOLEAN MODE)
OR category LIKE '$search%')

它会匹配例如 var2(虽然它不限于 3 个变量,可以是单独的或更多)并且我会在 PHP 中手动拆分它,没问题。虽然我不会得到足够的比赛,但我想要例如通过不同的搜索找到 10 个匹配项。更具体地说,我正在制作一个自动建议功能,这意味着我想将“moto%”与摩托车、单独的电机或其他任何东西匹配,但我一直得到相同的值,比如有几个 100包含“motorbike”的结果,我不知道如何过滤它们,因为数据库结构不好,我无法使用 GROUP BY...

我找到了这个:T-SQL - GROUP BY with LIKE - is this possible?它看起来像是一种解决方案,但据我所试,我无法让它按照我想要的方式工作。

所以我想知道有哪些解决方案...如果绝对没有办法解决这个问题,我可能必须修复数据库结构(但这确实是最后的选择)

最佳答案

开始采取措施使数据库结构正确。制作一个额外的表格并用拆分值填充它。

然后您可以使用适当的查询来选择您需要的数据。您和下一位开发人员将来在这个项目上遇到的麻烦都会减少,更不用说查询速度的提高了。

关于php - MYSQL 点赞+群,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15522816/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com