首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL唯一索引设计

MySQL唯一索引设计
EN

Stack Overflow用户
提问于 2009-08-20 13:41:08
回答 1查看 155关注 0票数 0

感谢你们所有人的回答。

我边学边学--所以我在学习,但还有很长的路要走。对于工作,我们主要使用MySQL进行数据库- web开发。我有一个关于唯一索引的问题--何时正确使用它们以及如何使用它们。

我确信我非常理解它们的用途--将一个列声明为“非重复”列,也就是说,对于该特定列,表中不能存在两个值。如果尝试执行的插入/更新操作违反了该索引规则,则会失败。

我正在为一个站点创建一个用户系统,并且正在为该系统设计数据库表。一个表是"user“表-保存用户

代码语言:javascript
复制
users
-----------------
int(4) usersID primary key
varchar(255) lastName
varchar(255) firstName
varchar(255) email unique
varchar(255) password

我已经创建了一个唯一的索引‘电子邮件’,因为每个电子邮件必须是不同的每个用户-它将被用作他们的登录。然而,我也想为‘姓氏’,‘名字’和‘电子邮件’创建一个唯一的索引,因为没有两个用户应该有这三个相同的组合。我应该为该规则创建另一个唯一索引,还是只为这三个规则创建一个索引?在索引中重复列是不好的吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-08-20 13:43:39

虽然在某些情况下,在多个索引中包含一列并不是坏事,但对于您要做的事情来说,这是多余的。

由于您不允许电子邮件地址重复,因此没有人能够提交重复的first/last/email,因为它将无法通过对电子邮件的唯一检查。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1306274

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档