关于自增长型字段是否总有一天可能溢出的简单问题!请教各位大虾,急!在线等待!解决完立刻结帖!

时间:2022-03-09 18:43:22
我的  sql server 2000 里数据表里的一个字段设置为自增长型,数据类型为 

int 型,每次添加一条记录就自动加加1,但我担心它总有一天会溢出,因为int 型能表示

的范围总是有限的,我试着通过删除所有记录来让自增长字段重新从1开始,但无论怎样,

就是里面一条记录都没有了,再添加一条记录时,它还是从上次背删除的记录的最大值开

始,然后加1作为第一条记录的值,我的这个表里的记录可以每天完了全部删除,我希望能

有个办法使它的值可以第二天从1开始记录,(否则总有一天会发生溢出错误的),不知是

否可行,用什么方法?谢谢!!在线等待!!

8 个解决方案

#1


truncate table tablename

#2


dbcc reseed

#3


首先是你要考虑你今后数据库的容量……
然后你可以把那个字段设置为其他类型呢 ?

#4


dbcc reseed

#5


请教:
     小弟我实在是才开始的新手,对于最基本的一些东西都不明白,大飞虫大侠的: dbcc reseed

我真的很惭愧,没能看懂,希望大侠能再略为详细的说一下,(是delphi的函数吗?)

#6


一般情况下根本无需担心,int类型在正负2^31之间,可以标识数十亿条记录,你的什么系统有这么庞大的数据量?

当然,如果是电信计费的话费清单部分可能会有这么多!但是这种情况下你会用SQL Server吗?

#7


是SqlServer的指令,可以查看SqlServer的联机帮助

 DBCC CHECKIDENT
检查指定表的当前标识值,如有必要,还对标识值进行更正。

语法
DBCC CHECKIDENT
    ( 'table_name'
        [ , { NORESEED
                | { RESEED [ , new_reseed_value ] } 
            } 
        ] 
    )

参数
'table_name'

是要对其当前标识值进行检查的表名。表名必须符合标识符规则。有关更多信息,请参见使用标识符。指定的表必须包含标识列。

NORESEED

指定不应更正当前标识值。

RESEED

指定应该更正当前标识值。

new_reseed_value

是在标识列中重新赋值时要使用的值。

 

#8


多谢大飞虫赐教!多谢!!

#1


truncate table tablename

#2


dbcc reseed

#3


首先是你要考虑你今后数据库的容量……
然后你可以把那个字段设置为其他类型呢 ?

#4


dbcc reseed

#5


请教:
     小弟我实在是才开始的新手,对于最基本的一些东西都不明白,大飞虫大侠的: dbcc reseed

我真的很惭愧,没能看懂,希望大侠能再略为详细的说一下,(是delphi的函数吗?)

#6


一般情况下根本无需担心,int类型在正负2^31之间,可以标识数十亿条记录,你的什么系统有这么庞大的数据量?

当然,如果是电信计费的话费清单部分可能会有这么多!但是这种情况下你会用SQL Server吗?

#7


是SqlServer的指令,可以查看SqlServer的联机帮助

 DBCC CHECKIDENT
检查指定表的当前标识值,如有必要,还对标识值进行更正。

语法
DBCC CHECKIDENT
    ( 'table_name'
        [ , { NORESEED
                | { RESEED [ , new_reseed_value ] } 
            } 
        ] 
    )

参数
'table_name'

是要对其当前标识值进行检查的表名。表名必须符合标识符规则。有关更多信息,请参见使用标识符。指定的表必须包含标识列。

NORESEED

指定不应更正当前标识值。

RESEED

指定应该更正当前标识值。

new_reseed_value

是在标识列中重新赋值时要使用的值。

 

#8


多谢大飞虫赐教!多谢!!