只是想知道在超过2147483647条记录后究竟发生了什么?
答案 0 :(得分:12)
尝试一下
CREATE TABLE #tester (
testerid INT IDENTITY(1, 1) not null CONSTRAINT pk_tester
PRIMARY KEY CLUSTERED)
DBCC checkident(#tester, reseed, 2147483647)
INSERT #tester DEFAULT VALUES
INSERT #tester DEFAULT VALUES
Msg 8115,Level 16,State 1,Line 1
将IDENTITY转换为数据类型int的算术溢出错误。
另请参阅What To Do When Your Identity Column Maxes Out以获得快速解决方法
答案 1 :(得分:1)
大多数人都忘记了int的负面影响,比正面更大。如果你认为你可能超过积极的int值,那么只需在-2,147,483,648范围的负端开始你的身份。或者真正玩新的DBA从2,147,483,647开始,逐步-1。
答案 2 :(得分:1)
如果您认为可能那么使用范围更大的数据类型。例如,NUMERIC或BIGINT。