2011-01-24 59 views

回答

4

將發生錯誤,插入將會丟失。

Msg 8115,Level 16,State 1,Line 2 將IDENTITY轉換爲數據類型int的算術溢出錯誤。 發生算術溢出。

+0

能否請您提供一個鏈接到一個文檔。 – Tim 2011-01-24 10:49:33

1

你可以很容易地用一個非常小的標識列測試,像decimal(1,0)

create table IdentityOverflow (id decimal(1,0) identity) 
while 1=1 
    insert IdentityOverflow default values 

像奧德說,這個打印:

Arithmetic overflow error converting IDENTITY to data type decimal. 

這對於即使是最大的整數:

create table IdentityOverflow (
    id decimal(38,0) identity(1,10000000000000000000000000000000000000)) 
while 1=1 
    insert IdentityOverflow default values 
5

考試PLE

create table dbo.MYTABLE (
id tinyint IDENTITY(254,1) 
,name varchar(10) 
) 
GO 
INSERT dbo.MYTABLE (name) VALUES ('row 254') 
GO 
INSERT dbo.MYTABLE (name) VALUES ('row 255') 
GO 
INSERT dbo.MYTABLE (name) VALUES ('broke') 
GO 

Msg 8115, Level 16, State 1, Line 1 
Arithmetic overflow error converting IDENTITY to data type tinyint. 
Arithmetic overflow occurred. 
相關問題