自增长 primary key字段,不断地增长下去,如果达到最大值了,数据库会如何处理?
又重新从1开始吗?

解决方案 »

  1.   

    自增字段,一般是int型,从1开始可以增长到2^31,一般是够用的。
    如果真的超出了范围……恭喜你,业务发展到这么大了。
    如果担心超出范围,可以用bigint类型,从1开始可以增长到2^63
    如果这样还超过的话……
      

  2.   

    哈哈
    就是 windindance(风舞轻扬) 的
      

  3.   

    >>数据备份后 清空 使其重新计数
    不行的。
    只能增大数据类型到bigint。
    bigint不太可能会被突破吧。
    如果突破了bigint,恐怕你的业务都做到了银河系了……
      

  4.   

    不知道为什么大家都不担心呢?
    比如有张表变动非常频繁,每天都要增加几百万条数据(当然老数据也会同时删除掉,维持动态平衡,不至于这张表太大)
    没几年就会超过int的范围了,至于bigint类型,大概最多也支撑个几十年吧,嘿难道大家都认为程序用不了几年就要换新的了吗? 呵呵,那就不用担心超出范围了!嘻嘻
      

  5.   

    bigint类型:
    -2^63 ~ 2^63
    也即9223372036854775808
    以每天100亿条数据计算,可以支撑
    9223372036854775808 / 10^10 /365 = 2526951 年