use*_*704 1 t-sql database sql-server-2005
我遇到过NEWID().我认为将INT键id-s值插入表中应该是有用的,但是它返回float或者对ID列值不太好的东西.所以我的问题是如何为表插入获取自动生成的INT ID值?
您可以使用以下属性定义类型INT(或SMALLINT, TINYINT, BIGINT)的列IDENTITY:
CREATE TABLE dbo.YourTable( ID INT IDENTITY(1,1) ......
Run Code Online (Sandbox Code Playgroud)
使用此设置,当将行插入表中时,SQL Server将自动为表生成连续的ID.
对于INT从1开始的类型,您可以获得超过20亿个可能的行 - 这对于绝大多数情况来说应该足够了.有了BIGINT,你得到大约922千万亿(922有15个零 - 922'000亿) - 足够你?
如果你使用INT IDENTITY从1开始,并且每秒插入一行,你需要66.5
年才能达到20亿的限制....
如果您使用BIGINT IDENTITY从1开始,并且每秒插入一千行,那么在达到922千万亿次限制之前,您需要一个令人难以置信的2.92亿年 ....
在MSDN联机丛书中了解有关它的更多信息(包括所有选项).