SQLServer中identity(⾃增)的⽤法
⽬录
零、码仙励志
⽼要靠别⼈的⿎励才去奋⽃的⼈不算强者;有别⼈的⿎励还不去奋⽃的⼈简直就是懦夫
⼀、identity的基本⽤法
1.含义
identity表⽰该字段的值会⾃动更新,不需要我们维护,通常情况下我们不可以直接给identity修饰的字符赋值,否则编译时会报错2.语法
列名  数据类型  约束  identity(m,n)
m表⽰的是初始值,n表⽰的是每次⾃动增加的值
如果m和n的值都没有指定,默认为(1,1)
要么同时指定m和n的值,要么m和n都不指定,不能只写其中⼀个值,不然会出错
3.实例演⽰
不指定m和n的值
create table student1
(
sid int primary key identity,
sname nchar(8) not null,
ssex nchar(1)
)
insert into student1(sname,ssex) values ('张三','男');
insert into student1 values ('李四','⼥');--可以省略列名
insert into student1 values ('王五','⼥');
指定m和n的值
create table student2
(
sid int primary key identity(20,5),
sname nchar(8) not null,
ssex nchar(1)
)
insert into student2(sname,ssex) values ('张三','男');
insert into student2 values ('李四','⼥');--可以省略列名
insert into student2 values ('王五','⼥');
4.删除⼀条记录接着插⼊
把sid为2的记录删除,继续插⼊,新插⼊的记录的sid不是2,⽽是3
create table student3
(
sid int primary key identity,
sname nchar(8) not null,
ssex nchar(1)
)
sql中delete用法
insert into student3(sname,ssex) values ('张三','男');
insert into student3 values ('李四','⼥');
delete from student3 where sid=2;--把sid为2的记录删除
insert into student3 values ('王五','⼥');
⼆、重新设置identity的值
1.语法
dbcc checkident(表名,reseed,n);
n+1表⽰的是表中identity字段的初始值(n的值可以为0)
也就是说:如果插⼊的是id为2的记录,则n的值是1
2.实例演⽰
create table student4
(
sid int primary key identity,
sname nchar(8) not null,
ssex nchar(1)
)
insert into student4(sname,ssex) values ('张三','男');
insert into student4 values ('李四','⼥');
delete from student4 where sid=2;--把sid为2的记录删除
dbcc checkident('student4',reseed,1);--把student4表中identity字段的初始值重新设置为1 insert into student4 values ('王五','⼥');
三、向identity字段插⼊数据
1.语法
set identity_insert 表名 on;
insert into 表名(列名1,列名2,列名3,列名4) values (数据1,数据2,数据3,数据4); set identity_insert 表名 off;
注意:插⼊数据时必须得指定identity修饰的字段的名字
2.实例演⽰
create table student5
(
sid int primary key identity(20,5),
sname nchar(8) not null,
ssex nchar(1)
)
insert into student5(sname,ssex) values ('张三','男');
insert into student5 values ('李四','⼥');
insert into student5 values ('王五','⼥');
set identity_insert student5 on;
/*
insert into student5 values ('⿊六','男');--error
insert into student5 values (21,'⿊六','男');--error
*/
insert into student5(sid,sname,ssex) values (21,'⿊六','男');
set identity_insert student5 off;
/*
insert into student5 values (22,'赵七','⼥');--error
insert into student5(sid,sname,ssex) values (22,'赵七','⼥');--error
*/
insert into student5 values ('赵七','⼥');
本篇博客来⾃于郝斌⽼师视频教程的总结以及笔记的整理,仅供学习交流,切勿⽤于商业⽤途,如有侵权,请联系博主删除,博主QQ:194760901

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。