錯誤: 將IDENTITY轉換爲數據類型爲int的算術溢出錯誤。 發生算術溢出。IDENT_CURRENT值高於最大值(id)
調試:
ID =我的標識列,數據類型INT。增量= 1,種子= 1
select max(id) as max, min(id) as min from eventlogreport
Result: 6728550 1
select count(*) from eventlogreport
Result: 6728550
到目前爲止,這樣做不錯。看起來我們有足夠的空間容納更多的行。但是插入600 000多行會導致溢出錯誤。更多調試。
SELECT IDENT_CURRENT ('EventLogReport') AS Current_Identity;
Result: 2147483647
問題:
- 如何能在當前標識值如此之高時表不包含 行相同數量的,並且沒有IDS已經 跳過?
- 如何安全地將IDENT_CURRENT設置爲與max(id)相同的編號?或者,只要id列不是引用,可能更容易重新設置種子?
爲什麼downvoting這個問題? – smarty