当前位置: 代码迷 >> MySQL >> mysql bigint auto_increment超过最大数量之后的有关问题
  详细解决方案

mysql bigint auto_increment超过最大数量之后的有关问题

热度:546   发布时间:2016-05-05 16:34:23.0
mysql bigint auto_increment超过最大数量之后的问题

今天看见我的一个程序的id到了1338497。超过10万了。突然我特好奇,我的id要是超过这个bigint 的最大程度会是什么样子。

这里说明一下,我的数据库是mysql的,这个id字段设置为bigint auto_increment。

然后我自己找了一下资料。如下:

地址:http://bbs.csdn.net/topics/330220989

?

bigint?unsigned 最大值:?18446744073709551613

自己选了一下,每秒消耗10万个ID,要想消耗完这个bigint,大约需要584.942417355072年。

?

=========== 资料 ==================

?

CSDN中每天很多人会提问,提问者的知识水平并不相同。类似的问题也被提了不少次了。大多数提这个问题的人都是担心auto_increment?用完。而不是想研究或者好奇探索这个问题。

如果是想研究会出现什么现象的话,则很简单,自己做个非常简单的测试(仅四句SQL)就知道了。

SQL code?
1
2
3
4
5
6
7
8
9
10
11
12
13
mysql>?create?table?t_rexuenaner929?(id?bigint?unsigned?auto_increment?primary?k
ey,col?int);
Query?OK,?0?rows?affected?(0.11?sec)
?
mysql>?insert?into?t_rexuenaner929?values?(18446744073709551613,1);
Query?OK,?1?row?affected?(0.06?sec)
?
mysql>?insert?into?t_rexuenaner929?values?(null,1);
Query?OK,?1?row?affected?(0.05?sec)
?
mysql>?insert?into?t_rexuenaner929?values?(null,1);
ERROR?1467?(HY000):?Failed?to?read?auto-increment?value?from?storage?engine
mysql>

?

?

?

?

?

  相关解决方案