首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

关于identity的有关问题

2012-09-08 
关于identity的问题?问题是这样的:我有一个表,两个字段(id和name),id是设置为identity(从1开始),一开始表

关于identity的问题?
问题是这样的:
我有一个表,两个字段(id和name),id是设置为identity(从1开始),一开始表里面有10条数据,然后我全删除了,接着我又往里面加数据了,这时id从11开始了,我想问的是,能不能让id从1开始?我知道有一个方法,就是重新建表,但除了这个方法,还有其他的方法吗?

[解决办法]
不用delete,用
TRUNCATE TABLE tb
[解决办法]
同意楼上,如果清空表的话,就用TRUNCATE TABLE tb,自增清零
[解决办法]
用TRUNCATE TABLE tb,清空表,则ID从1开始

sql TRUNCATE 和 delete 的区别
[解决办法]
delete后,删除自增列,重新添加自增列试试!
[解决办法]
谢谢,指点对我的帮助很大
[解决办法]

SQL code
use Tempdbgocreate table T1(ID int identity)insert T1 default values;delete T1godbcc checkident('T1',reseed,0)goinsert T1 default values;goselect * from t1
[解决办法]
SQL code
--1. 下面的代码演示了回滚事务导致标识值不连续的情况:--a.手工回滚事务CREATE TABLE #(id int IDENTITY(0,1),b int)INSERT # SELECT 1 --手工事务回滚BEGIN TRAN    INSERT # SELECT 2ROLLBACK TRANINSERT # SELECT 2SELECT * FROM #DROP TABLE #/*--结果id           b ----------------- ----------- 0           12           2--*/GO --b. 因操作失败自动回滚事务CREATE TABLE #(id int IDENTITY(0,1),b int UNIQUE)INSERT # SELECT 1 --违反惟一键约束,插入失败而导致自动回滚事务INSERT # SELECT 1INSERT # SELECT 2SELECT * FROM #DROP TABLE #/*--结果id           b ----------------- ----------- 0           12           2--*/GO   /*===================================================*/
[解决办法]
探讨
SQL code
use Tempdb
go
create table T1(ID int identity)

insert T1 default values;

delete T1
go
dbcc checkident('T1',reseed,0)
go
insert T1 default values;
go
select * from t1

-------……

[解决办法]
truncate很好。

热点排行