我想知道是否有任何 SQL查询for asp.net,c#可以重新安排自动增量coloumn值..
例如。 删除表中的2:
SNO
1
2
3
4
确实:
SNO
1
3
4
但我想重新安排:
SNO
1
2
3
注意:
CREATE TABLE uid (sno int IDENTITY(1,1) PRIMARY KEY, qpname nvarchar(500), mob int, tm int)
答案 0 :(得分:0)
以下是应该一个接一个地运行的查询以完成此功能。这可以通过执行通用的ExecuteNonQuery()在C#中轻松实现。
DELETE FROM TBL1 WHERE sno = @sno;
UPDATE TBL1
SET sno = sno -1
WHERE sno > @sno;
答案 1 :(得分:0)
将您的表命名为Parent,将保留备份的表称为Backup。它们应该具有相同的列。
INSERT INTO dbo.Backup
SELECT * FROM dbo.Parent
现在截断父表
TRUNCATE TABLE dbo.Parent
现在,您只需使用第一个命令插入数据,然后只需反转表名即可。
请记住,这可能不适用于所有情况。您可能有On delete cascade
,如果是这种情况,那么您将从其他引用父表的表中丢失所有数据。我认为你永远不应该使用这个是你在这张桌子上使用任何Foriegn Key参考。