Tim*_*fey 1 sql-server identity identity-column sql-server-2008
想象一下,我们有一张桌子:
create table MYTABLE (
id int IDENTITY(1,1)
,name varchar(10)
)
Run Code Online (Sandbox Code Playgroud)
我们必须在表中插入很多行.
有人知道当生成的标识值超过最大整数值(2 ^ 63-1)时会发生什么?
一个例子
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
Run Code Online (Sandbox Code Playgroud)
给
Msg 8115, Level 16, State 1, Line 1
Arithmetic overflow error converting IDENTITY to data type tinyint.
Arithmetic overflow occurred.
Run Code Online (Sandbox Code Playgroud)