包含临时数据的MySQL表-是否包含主键?
我正在建立一个新的数据库,我有几个包含临时数据的表 e、 g:用户请求更改密码-存储令牌,然后删除 目前我在这些表上有一个主键,它将从1向上自动递增包含临时数据的MySQL表-是否包含主键?,mysql,Mysql,我正在建立一个新的数据库,我有几个包含临时数据的表 e、 g:用户请求更改密码-存储令牌,然后删除 目前我在这些表上有一个主键,它将从1向上自动递增 AUTO_INCREMENT = 1; 我真的看不出这个主键有什么用。。。我永远不会引用它,它只会变得更大 这样的表是否应该有主键 简短回答:是的 长答覆: 如果你想要你的桌子,你需要你的桌子可以在某些东西上接合 要进行集群,您需要某种主键。如果你的桌子 设计不需要主键,重新思考您的设计:大多数 也许你错过了什么。为什么要保留相同的记录?在里面
AUTO_INCREMENT = 1;
我真的看不出这个主键有什么用。。。我永远不会引用它,它只会变得更大
这样的表是否应该有主键
简短回答:是的
长答覆:
如果你想要你的桌子,你需要你的桌子可以在某些东西上接合
要进行集群,您需要某种主键。如果你的桌子
设计不需要主键,重新思考您的设计:大多数
也许你错过了什么。为什么要保留相同的记录?在里面
InnoDB存储引擎总是创建一个主键,如果
没有明确指定它,因此生成了一个额外的列
有权访问
请注意,主键可以是复合键
如果有多对多链接表,则在上创建主键
链接中涉及的所有字段。因此,您可以确保您没有
描述一个链接的两个或多个记录
除了逻辑一致性问题外,大多数RDBMS引擎将
将这些字段包含在唯一索引中的好处
由于任何主键都涉及到创建唯一索引,因此您应该
声明它并获得逻辑一致性和性能
是这样一个帖子已经有了同样的讨论
有些人仍然喜欢接受你的意见。看一看
我个人的意见是,你应该有主键,以确定或使一行独特。逻辑可以是您的程序逻辑。可以是自动增量或复合或其他任何形式。哪一种是您的引擎?