我有两个表:
- 用户(用户名、密码)
- 个人资料(profileId、性别、出生日期……)
目前我正在使用这种方法:每个配置文件记录都有一个名为“userId”的字段作为外键,它链接到用户表。当用户注册时,会自动创建他的个人资料记录。
我对 friend 的建议感到困惑:将“userId”字段作为外键和主键并删除“profileId”字段。哪种方法更好?
最佳答案
外键几乎总是“允许重复”,这使得它们不适合作为主键。
相反,找到一个唯一标识表中每条记录的字段,或添加一个新字段(自动递增整数或 GUID)作为主键。
唯一的异常(exception)是带有 one-to-one 的表关系,其中链接表的外键和主键是同一个。
关于database - 将外键作为主键可以吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10982992/