Tsql 如何让Sql Server CE从1开始标识?

Tsql 如何让Sql Server CE从1开始标识?,tsql,sql-server-ce,Tsql,Sql Server Ce,我无法在sql server CE中使用truncate表(令人烦恼),因此我使用: drop table mytable 但是,当我重新插入行时,ID将从它们停止的位置开始。有没有办法重新启动Id? 输入DBCC CHECKIDENT 检查指定表的当前标识值,如果 如果需要,则更改标识值 用法: USE AdventureWorks; GO DBCC CHECKIDENT ('HumanResources.Employee', RESEED, 30) GO 就你而言 Use YourDBN

我无法在sql server CE中使用truncate表(令人烦恼),因此我使用:

drop table mytable
但是,当我重新插入行时,ID将从它们停止的位置开始。有没有办法重新启动Id?

输入DBCC CHECKIDENT

检查指定表的当前标识值,如果 如果需要,则更改标识值

用法:

USE AdventureWorks;
GO
DBCC CHECKIDENT ('HumanResources.Employee', RESEED, 30)
GO
就你而言

Use YourDBName
GO
DBCC CHECKIDENT('YourTableName', RESEED, 0)
GO
用数据库名替换YourDBName,用表名替换YourTableName,并重新设定值的种子,最后一个参数(本例中的0)将为该值重新设定ID的种子。

编辑 请阅读DBCC CHECKIDENT在CE版本中不可用

在这种情况下,使用
altertable tableName ALTER COLUMN ID Identity(999,1)


(999是ID列的新最大值)…。

阅读我的评论,只需阅读CE edition中不提供的CHECKIDENT,只需发出ALTER TABLE语句并更改ID标识值即可。