gpt4 book ai didi

php - mysql LIKE语句做精确匹配

转载 作者:行者123 更新时间:2023-11-28 23:57:25 24 4
gpt4 key购买 nike

我正在尝试在 mysql 中使用 LIKE 语句,我的代码有点工作了一半但它没有按预期工作(或者至少我想象它是如何工作的)

下面是我的代码

SELECT * FROM `videos` WHERE `tags` LIKE '%1%' ORDER BY `videoID` DESC

因此,为了尝试解释表“视频”中的代码,我有一列“标签”,标签中填充了一些数据,例如“1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20“每个视频都有自己的一组标签,由上述组合组成,现在我正在尝试选择所有带有标签 1 的视频,但是上面将选择所有带有数字 1 的视频,所以 1、10、11,如果我将代码更改为

SELECT * FROM `videos` WHERE `tags` LIKE '%1' ORDER BY `videoID` DESC

如果我将其更改为,它将选择 1、10、11

SELECT * FROM `videos` WHERE `tags` LIKE '1%' ORDER BY `videoID` DESC

它会同时选择 1 和 11,但是如果我选择所有带有 11 的视频,我只想让它像明智地选择 1 我只希望“标签”中包含 11 的视频成为特色。

有人知道我在这方面哪里出了问题吗?

表格我有 2 个表格标签,视频见下面的示例

标签表

| tagID | tagTitle | tagImage |
| 1 | Anime | PATH |
| 2 | FPS | PATH |
| 3 | RPG | PATH |

视频表

| videoID | tags     | videoTitle |
| 1 | 2 3 | EXAMPLE |
| 2 | 1 | EXAMPLE |
| 3 | 1 2 3 | EXAMPLE |

我选择了 2 个表而不是 1 个表,这样主视频表就不会散落着大量完整的标签名称,这些标签名称可能会变得很长,而“打败他们并砍杀”游戏“4”要短得多。

场景(如果这有帮助的话)

我正在制作一个网站,我将在其中存储我的 YouTube 视频,以便可以从网站上的多个位置找到它们您可以按标签(恐怖、角色扮演等)选择视频一旦您选择了您的标签,您就会被带走转到将显示该标签下所有视频的页面。

如果您需要我扩展任何内容,请告诉我。

提前致谢。

最佳答案

您可以尝试使用多个like:

where `tags` like '% 1 %'
or `tags` like '1 %'
or `tags` like '% 1'
or `tags` = '1'

它应该匹配字符串中间、开头或结尾的1。如果标签在每个字符串中被排序(根据您的示例做出的假设),您可以仅使用第二个 like 和完全匹配 = 检查。

关于php - mysql LIKE语句做精确匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31250527/

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