php–MySQL“喜欢”(误报)

php–MySQL“喜欢”(误报),第1张

概述我的数据库中有一个表,其中有一个名为“tags”的字段,例如iOS,Android,Java,JavaScript等.我想选择此表中与某些标签匹配的所有项目,例如 id | name | tags -- | ------- | ----- 1 | name1 | iOS,Android 2 | name2 | Jav

我的数据库中有一个表,其中有一个名为“Tags”的字段,例如iOS,Android,Java,JavaScript等.我想选择此表中与某些标签匹配的所有项目,例如

ID | name | Tags

— | ——- | —–

1 | name1 | iOS,AndroID

2 | name2 | JavaScript,CSS

3 | name3 | HTML,Java

现在,如果我只想要标记为’Java’的项目(只有ID = 3的那个),我这样做:

SELECT * FROM posts WHERE Tags liKE '%Java%';

但是,正如您想象的那样,它返回第二个(JavaScript)和第三个(Java)项.

我该怎么做只返回第三个?

最佳答案在MysqL中,最好的解决方案是find_in_set():

SELECT *FROM postsWHERE find_in_set('Java',Tags) > 0;

在MysqL和其他数据库中,您也可以使用like来执行此 *** 作,但是您需要在所有内容中放置分隔符:

SELECT *FROM postsWHERE concat(',',Tags,') like '%,%';

分隔符可以防止与类似标记混淆(好吧,混淆不涉及逗号). 总结

以上是内存溢出为你收集整理的php – MySQL“喜欢”(误报)全部内容,希望文章能够帮你解决php – MySQL“喜欢”(误报)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1166895.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存