我正在制作一个博客系统,我想在我的博文中添加“标签”。这些与您在此处看到的标签相似,它们可用于对具有相似主题的帖子进行分组。
我想将标签作为逗号分隔的单词字符串(非空白字符串)存储在数据库中。但我不太确定如何搜索包含标签 A 和标签 B 的所有帖子。
我不喜欢与小型数据库一起使用的简单解决方案,在该数据库中我检索所有数据并使用 PHP 循环对其进行扫描,因为这不适用于大型数据库(即使不是数千个帖子)。我不打算发表这么多博文,但我希望系统稳定,并通过直接从数据库中获取正确的结果来节省 PHP 脚本的工作时间。
假设我的表看起来像这样(实际上它有点复杂)
blogposts:
id | title | content_html | tags
0 | "hello world" | "<em>hello world!</em>" | "hello,world,tag0"
1 | "bye world" | "<strong>bye world!</strong>" | "bye,world,tag1,tag2"
2 | "hello you" | "hello you! :>" | "hello,tag3,you"
我如何能够选择包含标签"hello"
以及"world"
标签中的所有帖子?我知道 LIKE 语句,您可以在其中搜索子字符串,但是您可以将它与多个子字符串一起使用吗?