gpt4 book ai didi

mysql - 标签系统的最佳模型

转载 作者:搜寻专家 更新时间:2023-10-30 20:00:05 24 4
gpt4 key购买 nike

标签系统的最佳模型是什么?例如,一个主题可以有N标签,标签和N可能与Nthreads相关,如果我创建一个表,标签和帖子表和这个表标签,我有帖子的 ID ,标签,将重复许多记录作为另一个主题添加这个标签,这是最好的如何避免这种情况?

enter image description here


@Quentin,问题依旧,会重复post_tags表中的记录

CREATE TABLE IF NOT EXISTS `posts` (
`pid` bigint(22) NOT NULL AUTO_INCREMENT,
`author` varchar(25) NOT NULL,
`content` mediumtext NOT NULL,
PRIMARY KEY (`pid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;

INSERT INTO `posts` (`pid`, `author`, `content`) VALUES
(1, 'Andrey Knupp Vital', 'Hello World !');

CREATE TABLE IF NOT EXISTS `tagged` (
`pid` bigint(22) NOT NULL,
`tid` bigint(22) NOT NULL,
PRIMARY KEY (`pid`,`tid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

INSERT INTO `tagged` (`pid`, `tid`) VALUES
(1, 1),
(1, 2);

CREATE TABLE IF NOT EXISTS `tags` (
`tid` bigint(22) NOT NULL AUTO_INCREMENT,
`tag` varchar(15) NOT NULL,
PRIMARY KEY (`tid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;

INSERT INTO `tags` (`tid`, `tag`) VALUES
(1, 'main'),
(2, 'hello');

最佳答案

使用 junction table

它至少有两列。 “帖子”和“标签”,主键在它们对中定义(如果数据库允许,否则主键的第三列)。

关于mysql - 标签系统的最佳模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8460978/

24 4 0