我见过的凭据表的每个实现都有一个自动加密ID来跟踪用户。
然而,
如果我在插入mySQL表之前验证了唯一的电子邮件地址,那么我可以通过电子邮件地址保证每行的唯一性...此外,我可以根据需要通过电子邮件地址访问该表..
是否有人发现此问题?
我试图理解为什么其他人不遵循这种方法?
答案 0 :(得分:2)
这些电子邮件地址远大于4个字节,对于存储引擎来说可能更糟,它们的长度可变。
另外一个人可能想要两个帐户,或者可能会有多个电子邮件地址。
然后存在与案例折叠相关的问题。
答案 1 :(得分:2)
当其他表具有与用户相关的数据时,您使用什么作为外键?他们的电邮地址?如果他们想要更改电子邮件地址怎么办?单一的一行更新现在变成了一个巨大的混乱。
生成的密钥允许您将可以从记录和表之间的关系更改的数据分离。