gpt4 book ai didi

使用多列的 MySQL 搜索

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

我的表格有城市和描述列,我的网页有一个搜索字符串输入..

如果我输入furniture production,我会得到company name,所以很好,但是如果我想做这样的事情furniture production london 带有城市的字符串,我没有得到任何结果。

如何修改此查询以使用城市列或其他列?

SELECT slug, title FROM catalog WHERE city || description LIKE '%$keyword%

最佳答案

如评论中所述,使用这种“流动”标准执行搜索在数据库上的开销非常大。

无论如何,如果这是你想走的路,这是我的尝试:

SELECT slug, title FROM catalog 
WHERE CONCAT(city, description) LIKE '$keyword'
OR CONCAT(description, city) LIKE '$keyword'

要使其正常工作,您可能希望将所有空格替换为 %,并可能在代码中放置前导和尾随 %

我认为执行查询的代码是 PHP,所以可以这样做:

$keyword = "%" . str_replace(" ", "%", $keyword) . "%";

就像我说的,这对数据库来说非常非常很重,特别是在行数很重要的情况下。尝试优化全文搜索的列,并可能确保输入表单中的搜索条件不能太短。

希望这对您有所帮助!

关于使用多列的 MySQL 搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38718288/

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