当用户从字段中选择多个标签时,我真的想向博客文章添加多个标签,但我想知道在 mysql 中存储标签时,我应该有字段来保存所有标签,还是应该一一存储,即
tags_field = (cats ,animals, fur)
Run Code Online (Sandbox Code Playgroud)
或者
id1 cats
id2 animals
id3 fur
Run Code Online (Sandbox Code Playgroud)
我正在考虑使用第一个示例,然后在将列表呈现给用户时分解列表并将它们分成单个标签!:)) 谢谢
您应该使用三个表:
tag_id + post_id这样,一个标签可以被多个帖子使用,一个帖子可以有多个标签——并且不会出现任何类型的数据重复。
所以,基本上,您的表格将如下所示:
posts
- id ; primary key
- date
- title
- content
tags
- id ; primary key
- name
posts_tags
- tag_id ; primary key ; foreign key to tags.tag_id
- post_id ; primary key ; foreign key to posts.post_id
Run Code Online (Sandbox Code Playgroud)