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>

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值