余物通过一个朋友告诉:

  

你用什么独特的钥匙?我希望你   不保存整个用户名   ---这会占用太多的表空间!分配一个唯一的用户ID给每个   (唯一的)用户名和保存该用户ID   (应该是无符号整数   AUTO_INCREMENT或BIGINT UNSIGNED   自动递增)。不要忘了   创建参考

     

外键(userID)参考   usertableuserID)中的所有表   使用用户ID。

时的上述说法是否正确?为什么或者为什么不呢?

有帮助吗?

解决方案

我认为他是正确的(错误的理由),因为主键不能改变,但username可以改变。所以,你应该用userid,因为它不会改变。

其他提示

他是对错误的原因。表空间是次要的事实,您的应用程序可能会在以后强制要求用户名是可以改变的,甚至不再是唯一的(你能想象如果不要求唯一的用户名的应用程序,如堆栈溢出),因此您的应用程序将需要大规模的重构和数据迁移的,而不是在其他(整数PK)情况下的光的变化。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top