自动递增ID的必要性

时间:2011-11-13 18:20:22

标签: mysql

我见过的凭据表的每个实现都有一个自动加密ID来跟踪用户。

然而,

如果我在插入mySQL表之前验证了唯一的电子邮件地址,那么我可以通过电子邮件地址保证每行的唯一性...此外,我可以根据需要通过电子邮件地址访问该表..

是否有人发现此问题?

我试图理解为什么其他人不遵循这种方法?

2 个答案:

答案 0 :(得分:2)

这些电子邮件地址远大于4个字节,对于存储引擎来说可能更糟,它们的长度可变。

另外一个人可能想要两个帐户,或者可能会有多个电子邮件地址。

然后存在与案例折叠相关的问题。

答案 1 :(得分:2)

当其他表具有与用户相关的数据时,您使用什么作为外键?他们的电邮地址?如果他们想要更改电子邮件地址怎么办?单一的一行更新现在变成了一个巨大的混乱。

生成的密钥允许您将可以从记录和表之间的关系更改的数据分离。