错误: 将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