如果表中有这么多条目,那么在给定时间段(天,周,月,...)内2 ^ 32不足以满足您的auto_increment ID怎么办?
如果MySQL提供的最大数据类型还不够怎么办?

我想知道应该如何解决我的表中添加了如此多的条目,这些条目需要唯一ID,但是我在一个时期内填满数据类型的情况?

我如何才能在MySQL(或其他任何系统)中 native 获得无限数量的唯一ID或至少以指数方式增加它?

理想情况下,我会期望像

> SELECT * FROM table;

+---+------+
| a |  b   |
+---+------+
| 1 |  1   |
| 1 |  2   |
| 1 |  3   |
|...| .... |
|...| .... |
| 1 | 2^32 |
| 2 |  1   |
| 2 |  2   |
+---+------+

这成倍增加了条目数量。

您如何应对这种情况?
请记住-要求是任何条目都有唯一的ID。

最佳答案

您可以将BIGINT用作主键。默认情况下,这是一个64位数字。

编辑2:显然我之前说过关于改变BIGINT字节长度的说法是不正确的。 BIGINT固定为8个字节的限制。

关于sql - 如果2 ^ 32还不够怎么办?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/702975/

10-09 17:12