【发布时间】:2020-09-02 20:00:00
【问题描述】:
忽略在数据库中的给定表上生成 18446744073709551615 行的不切实际性质。假设它发生了。如果您必须创建第二个表以继续存储要引用的相同数据,您是否能够保持数据完整性。
【问题讨论】:
-
具体的数据库是什么?
-
1^19 行的 SQL 表在许多其他方面都是不现实的,因此很难忽视。
-
考虑使用 UUID。
-
这是一个常见问题解答。 (并且可以预期。)在考虑发布之前,请阅读您的教科书和/或手册和谷歌任何错误消息或您的问题/问题/目标的许多清晰、简洁和精确的措辞,有或没有您的特定字符串/名称和网站:stackoverflow.com 和标签;阅读许多答案。如果您发布问题,请使用一个短语作为标题。反映你的研究。请参阅How to Ask 和投票箭头鼠标悬停文本。
-
这个问题并没有那么不合理。并行系统上的标识列经常有差距——1,000,000 的差距对于未来的系统来说并非不合理。并非所有 id 都存储在表中,但通常与某种操作相关联(例如失败的事务)。我可以想象即使是 bigint 也不够大的系统。然而,这对于 StackOverflow 来说是一个糟糕的问题,因为发生的事情显然取决于数据库和系统的配置。
标签: sql database database-design