gpt4 book ai didi

mysql - 用逗号分隔的字符串搜索表?

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

我的表中有一列名为标签。它有逗号分隔的文本(盒子、帽子、汽车)。

我从我的表中选择一行,我想找到与所选行中的标签具有相似标签的其他行。

我知道这可能是更好的表格设计,但我无法更改设计。

我知道这会在标签中搜索关键字,但我不想通过关键字而是通过标签列表进行搜索。

WHERE (',' + Tags + ',') LIKE '%,keyword,%'

有人知道我会怎么做吗?

使用 MYSQL。

最佳答案

你说你不能改变设计。能不能加个FULLTEXT索引,把这张表放到MyISAM访问方式里?如果是这样,您可以使用 FULLTEXT 搜索。对于您的应用程序,最好使用 BOOLEAN 模式。

WHERE MATCH (tags)
AGAINST ('box hat -car' IN BOOLEAN MODE);

此特定搜索查找关键字 box 和 hat,并排除关键字 car。

这是一个描述。这可能适合你。 http://dev.mysql.com/doc/refman/5.5/en/fulltext-boolean.html

您可以在 InnoDB 中运行全文搜索。但我不相信你可以索引它。

如果您不能使用全文搜索,则说明您使用的工具不适合您的工作。将逗号分隔的字符串与 SQL 匹配就像用 Screwdriver 的 handle 敲钉子一样。两者都需要很长时间,而且非常尴尬。

关于mysql - 用逗号分隔的字符串搜索表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13029668/

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