如果你这么想那就错了,那所有字符串字段都设置成varchar(8000)好了。
如果不理解你去网上搜索一下varchar占用的空间。
写程序就应该给字段合理的类型和长度
再说了你要重置自增列干什么,难道每次删除操作之后就要重置一次?
给你两个重置的例子
--1
DECLARE @T TABLE(ID INT IDENTITY,[NAME] VARCHAR(10))
INSERT @T SELECT 'A'
INSERT @T SELECT 'B'
DELETE @T WHERE ID=2
INSERT @T SELECT 'C'
INSERT @T SELECT 'D'
SELECT * FROM @T
SELECT ID=(SELECT COUNT(*) FROM @T WHERE ID<=T.ID),[NAME] FROM @T T
/*ID NAME
----------- ----------
1 A
3 C
4 D
(影響 3 個資料列)
ID NAME
----------- ----------
1 A
2 C
3 D
*/
--借助临时表
SELECT * INTO # FROM TB
GO
TRUNCATE TABLE TB
GO
INSERT TB(字段列表) SELECT 字段列表 FROM # ORDER BY ID
GO
DROP TABLE #