首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql分布式主密钥

mysql分布式主密钥
EN

Stack Overflow用户
提问于 2015-09-15 11:36:33
回答 1查看 258关注 0票数 0

我有不同的表,需要共享一个主键池。

例如,表A的主键为0到9,表B的主键为10至19。

有没有办法告诉mysql从哪里画主键?就像一个存储过程?执行一个知道存储桶的分布的脚本就足够了。

一种简单的方法是在每个insert语句中设置主键。PK是从那个池中提取的。实际上,这需要在插入到DB中的每个应用程序(如php或java)中实现,而我希望避免这些应用程序。

EN

回答 1

Stack Overflow用户

发布于 2015-09-15 11:40:04

我不明白为什么表需要共享主键。

你的描述已经暴露了一个问题。主键应该是无意义的(或者最多可以指示插入顺序)。不应为不同的目的分配特定的范围。

相反,每个表都可以有自己的自动递增id。一种可能是有另一个具有自动递增id的表,并使用对该表的外键引用。缺点是您需要为每个insert插入两个表--触发器可以很容易地做到这一点。

您应该有一个显式类型,而不是主键的“范围”。

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

https://stackoverflow.com/questions/32585052

复制
相关文章

相似问题

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