是否需要在每个新行上自动递增的主键?对我来说,这个数字变得很长,我什至没有用它做任何事情。
我可以想象,随着我网站上的逐步用户活动,将添加新行(我只测试只有 2 个alfa test
用户的 atm,并且数量已经auto incremented
超过 100),最终这个数字可能会达到愚蠢(example: 10029379000577352881086)
的比例,不仅会减慢网站速度(影响用户体验)但也可能不可避免地推动我的网站超出其配额(超过其允许的大小(外行))
真的需要这个吗?
是否需要在每个新行上自动递增的主键?对我来说,这个数字变得很长,我什至没有用它做任何事情。
我可以想象,随着我网站上的逐步用户活动,将添加新行(我只测试只有 2 个alfa test
用户的 atm,并且数量已经auto incremented
超过 100),最终这个数字可能会达到愚蠢(example: 10029379000577352881086)
的比例,不仅会减慢网站速度(影响用户体验)但也可能不可避免地推动我的网站超出其配额(超过其允许的大小(外行))
真的需要这个吗?
您需要一种方法来唯一标识表中的每条记录。
如果你已经有了——比如用户 ID 或电子邮件地址——那么你不一定需要那个自动递增字段。
注意:如果您还没有对该字段的唯一约束,则应添加一个,以便无法将重复数据输入到表中。
警告:如果您决定摆脱它,请确保没有其他表正在使用它。
您不能使用多个列来获取复合键而不是那个吗?只是一个提示。
您确实需要一个标识每一行的键。但是键不必是每行“自动递增”的数字。一些人似乎认为递增数字对于密钥来说总是一个好主意,这可能是粗心大意或缺乏对数据库基础知识、合理设计和数据完整性的理解的结果。
表的主键并不总是必需的。对于您的问题,请检查我的答案: