Sqlserver里主键插入的问题?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Sqlserver里主键插入的问题?相关的知识,希望对你有一定的参考价值。
create table project
ProjectID int primary key,
ProjectName varchar(20)
我想向上面这个表里插入数据,比如insert into project(ProjectName) values('三峡');使主键自动递增,我该怎么修改表定义呢?
(
ProjectID int identity(1,1) primary key,
ProjectName varchar(20)
)
go
identity(1,1)--加上自增 参考技术A 一楼的很正确但是也可以在打开修改表,以后在下面选择,标识规范里把“否”改成“是”然后保存也行~~这个操作比较傻瓜,快捷些~~
SQLServer数据库中的主键自动增长标识列的一些特殊操作
一.关闭自动标识列的自动增长:
操作需要的命令为:SET IDENTITY_INSERT [TABLE][ON|OFF] 后面的参数如果为“ON”,表示:开启标识列手动插入功能。一旦命令执行成功表示此后往表中插入数据,自动标识列将不会自动增长,需手动插入此列的内容。当然,数据添加操作完成后,我们又需要将“自动增长”的功能再次开启,也就是上面的语句再执行一次,不过最后的参数换成“OFF”,表示“退出标识手动插入功能”。
二.重置标识列的值为某个值:
操作需要的命令为:DBCC CHECKIDENT(TABLE,[RESEED|NORESEED],[1]) 括号内需要三个参数,第一个为标识列所在的表名,第二个为可选的两个参数,表示操作的类型(选择“RESEED”表示为"重置操作",相应地就需要第三个参数来提供要重置成的值。如果选择“NORESEED”表示为“查看操作”,此时就不需要第三个参数),第三个为要重置为的标识列的种子值。
以上是关于Sqlserver里主键插入的问题?的主要内容,如果未能解决你的问题,请参考以下文章
sql server 中 怎么让自动增1的主键列 临时的 让它可以手动插入指定值?
重新插入以前删除的行时 SQL SERVER 2017 主键冲突