首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用外键作为主键

使用外键作为主键
EN

Database Administration用户
提问于 2014-12-20 11:31:33
回答 1查看 103关注 0票数 0

MySQL:

如果我有一个用户表和多个其他表(如卖方、买方等),那么可以使用user_id外键作为表内的主键,比如卖方、买方吗?

这将在此类表的主键字段中留下空白。这会导致查询速度变慢吗?另外,mysql是否会试图通过在中间插入新项(我不想要的)来弥补这些空白?

EN

回答 1

Database Administration用户

发布于 2014-12-20 16:23:08

主键必须是唯一的。只要任何特定的用户/user_id不能超过一个卖方/买方(每个),您就可以了。该限制是否有效,取决于您的域。例如,如果一个用户可以经营多个商店,而每个商店的老板被认为是一个独立的销售者,那么它就会失败。(例如,您可能希望将联系信息附加到卖方,这可能因商店而异-但只针对卖方,而不是针对商店。想想共同拥有的企业…)如果有疑问,您可能希望安全操作,而不是将外键作为主键,以避免在将来的某个时候通过模式传播重新设计的麻烦。

至于试图填补空白的MySQL :如果它是外键,您(r应用程序)将是唯一一个插入记录的。因此:没有。

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/86663

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档