ms-sqlserver 自增字段 int型
最大值是2~31 那么当记录数超过这个最大值的时候会怎么样?又该怎么解决呢
谢谢

解决方案 »

  1.   

    不管是bigint,numeric(38,0) 也好。她们终究会有个上线最大值问题?
    这个怎么办呢?
      

  2.   

    bigint 
     -2^63 (-9,223,372,036,854,775,808) 到 2^63-1 (9,223,372,036,854,775,807)
     8 字节
     
    int 
     -2^31 (-2,147,483,648) 到 2^31-1 (2,147,483,647)
     4 字节
     
    smallint 
     -2^15 (-32,768) 到 2^15-1 (32,767)
     2 字节
     
    tinyint 
     0 到 255
     1 字节就按int来说,最大值是2,147,483,647,假设1秒钟增加一条数据:
    select DATEADD(s,2147483647,0)
    /*
    1968-01-20 03:14:07.000
    */
    就是也要68年多的时间才能把int用完。
      

  3.   

    如果用bigint
    假设每秒插入10000个记录
    可用近3000万年
    如果连负值也用上
    还要翻一番