Ond*_*řej 6 sql t-sql sql-server auto-increment sql-server-2008-r2
我正在设计SQL Server 2008 R2 SP2 Express数据库中的表.我创建了包含nvarchar数据tinyint列的表和用于自动递增标识的列,假设行数不会超过几行(这就是我选择0-255的原因tinyint).当我添加超过255行时,即使在删除该表中的所有行并尝试添加一个新行之后,此错误仍会永久发生.我使用SQL Server Management Studio Express执行此操作.
tinyint对int和达到的极限int是多少?Hav*_*ame 10
一旦添加255行,然后想要从表中删除所有行,但增量列的计数器已经设置为255,即使在删除所有行之后也是如此.
要解决此问题,您需要在删除所有行后重置增量列的计数器.删除所有行时请使用以下查询,以便计数器将重置为重置为0.执行此查询后,可以在表中添加增量列值为1或在表设计时设置的行.
DELETE FROM [TestTable]
DBCC CHECKIDENT ('[TestTable]', RESEED, 0)
GO
Run Code Online (Sandbox Code Playgroud)
如果要从表中删除所有行,也可以使用truncate table命令.Truncate Command还将增量列重置为初始值.
Truncate Table [TestTable]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15763 次 |
| 最近记录: |