我想知道我是否允许用户选择他们的帖子将显示在哪个类别中,并且他们可以从一个到多个选择多个类别。


如何将类别ID值或多个值存储在数据库中?
我应该将每个值分组在一起,例如45、12、45、78,还是应该一次存储一个值?
而且我的表结构如何?
还是应该将其添加到现有表中?

最佳答案

您描述的结构实际上是many-to-many relationship(用于所有标记结构等)。

Entries Table
+----+-------+------+
| id | title | text |
+----+-------+------+

Entries-to-Tags Table
+----------+--------+
| entry_id | tag_id |
+----------+--------+

Tags Table
+----+-----+
| id | tag |
+----+-----+




检查标签中所有条目的典型SQL调用是

SELECT *
FROM tags_table as tg
LEFT JOIN entries_to_tags AS entg ON tg.id = entg.tag_id
LEFT JOIN entries AS en ON entg.entry_id = en.id
WHERE tg.tag = 'my tag'


检查条目中标记的典型SQL调用是

SELECT *
FROM entries AS en
LEFT JOIN entries_to_tags AS entg ON en.id = entg.entry_id
LEFT JOIN tags_table AS tg ON entg.tag_id = tg.id
WHERE en.title = 'my article title'

关于mysql - MySQL表问题。 [多部分问题],我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3524644/

10-11 20:39