sqlserver修改自增
很多时候我们需要重置某个表的自增列,让自增列重新从1开始记数。最蠢的方法当然是把该表删掉再重新建表了。其实,还有其它的方法可以重置自增列的值:
方法一:使用TRUNCATE
TABLE语句:
TRUNCATE
TABLE删除表中的所有行,而不记录单个行删除操作,同时重置自增列。TRUNCATE
TABLE
在功能上与没有WHERE子句的DELETE语句相同;但是,TRUNCATE
TABLE
速度更快,使用的系统资源和事务日志资源更少。
方法二:使用DBCC
CHECKIDENT语句:
DBCC
CHECKIDENT在
SQL
Server
2008
R2
中检查指定表的当前标识值,如有必要,则更改标识值。还可以使用
DBCC
CHECKIDENT
为标识列手动设置新的当前标识值。
语法:
DBCC
CHECKIDENT
(
table_name
[,
{
NORESEED
|
{
RESEED
[,new_reseed_value
]
}
}
]
)
[
WITH
NO_INFOMSGS
]
参数:
table_name:是要对其当前标识值进行检查的表名。指定的表必须包含标识列。表名必须符合标识符规则。
NORESEED:指定不应更改当前标识值。
RESEED:指定应该更改当前标识值。
new_reseed_value:用作标识列的当前值的新值。
WITH
NO_INFOMSGS:取消显示所有信息性消息。
示例:我们要重置表t1的当前标识值为1,sql如下:
dbcc
checkident('t1',reseed,1)
B. sqlserver 怎么设置主键自增长
比方说,你要创建一个表user_info,设置的主键名称是user_id,那么可以如下设置:
create
table
user_info
(user_id
int
primary
key
identity(1,1),//主键初值为1,每次自增1,数值可变化,但要符合之前定义的类型
user_name
varchar(20)
not
null,
....
)
希望能帮到你!~
C. sqlserver将某字段更新成自增型的sql语句
自增列不能修改,只能删除或者添加
所以对应的就只能先删除该列,然后再添加列,添加时赋值属性为标识列
创建新列后会自动填充数字