今天看见我的一个程序的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)就知道了。
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> |
?
?
?
?
?