目录

零、码仙励志

一、identity的基本用法

1.含义

2.语法

3.实例演示

4.删除一条记录接着插入

二、重新设置identity的值

1.语法

2.实例演示

三、向identity字段插入数据

1.语法

2.实例演示


零、码仙励志

老要靠别人的鼓励才去奋斗的人不算强者;有别人的鼓励还不去奋斗的人简直就是懦夫

一、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)
)
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

SQL Server中identity(自增)的用法相关推荐

  1. mysql identity sql_SQL Server中identity(自增)的用法详解

    一.identity的基本用法 1.含义 identity表示该字段的值会自动更新,不需要我们维护,通常情况下我们不可以直接给identity修饰的字符赋值,否则编译时会报错 2.语法 列名 数据类型 ...

  2. SQL SERVER 中identity

    SQL SERVER 中identity用法: 在数据库中, 常用的一个流水编号通常会使用 identity 栏位来进行设置, 这种编号的好处是一定不会重覆, 而且一定是唯一的, 这对table中的唯 ...

  3. SQL Server 中 with tmp 临时表的用法

    SQL Server 中 with tmp 临时表的用法 ----------with临时表用法,有时候采用临时表比采用in的效率更高,避免了全表扫描. 实例中实现了查询普通题.大题.子题目的sql ...

  4. SQL Server中Identity标识列

    SQL Server中,经常会用到Identity标识列,这种自增长的字段操作起来的确是比较方便.但它有时还会带来一些麻烦. SQL Server中,经常会用到Identity标识列,这种自增长的字段 ...

  5. SQL Server中的锁类型及用法(转载)

    一. 为什么要引入锁 多个用户同时对数据库的并发操作时会带来以下数据不一致的问题: 丢失更新  A,B两个用户读同一数据并进行修改,其中一个用户的修改结果破坏了另一个修改的结果,比如订票系统 脏读  ...

  6. SQL Server中LIKE和PATINDEX的用法

    在SQL Server中,能使用通配符的只有2个:LIKE.PATINDEX. 不过LIKE支持2种通配符转义,无限制最全面:而PATINDEX只支持最简单的通配符转义([]转义),限制较多. LIK ...

  7. SQL Server 中@@IDENTITY的用法

    原文地址:http://www.studyofnet.com/news/145.html 本文导读:@@IDENTITY是返回上次插入的标识值,标识值一般指的是自动增长值.但是如果想只返回插入到当前作 ...

  8. SQL Server中Rowcount与@@Rowcount的用法 和set nocount on 也会更新@@Rowcount

    rowcount的用法: rowcount的作用就是用来限定后面的sql在返回指定的行数之后便停止处理,比如下面的示例, set rowcount 10 select * from 表A 这样的查询只 ...

  9. SQL Server中osql/sqlcmd的基本用法

    [转自] http://www.cnblogs.com/wontonJ/archive/2011/06/18/2084400.html 这段时间在做项目的时候,遇到一个问题,客户的程序要架设在自己的服 ...

最新文章

  1. Spring 3整合Quartz 2实现定时任务--转
  2. Java提高篇——Java 异常处理
  3. C#排队处理DEMO
  4. Qt的quit(),exit()以及close()事件捕获
  5. 右下角出现测试模式 win7 内部版本7601如何去掉
  6. 查看Oracle表中的指定记录在数据文件中的位置
  7. 功放(耳机/音箱)声压级计算(五)
  8. Web安全与Rational AppScan入门
  9. CCS导入工程时报错“overlaps the location of another project”解决办法
  10. 仿微信视频下载进度自定义View
  11. inherits在java中是什么属性_在Java中,要想让一个类继承另一个类,可以使用哪个关键字?()...
  12. vue手写签名,canvas手写签名,canvas签名图片旋转
  13. MATLAB 画正态分布和对数正态分布的概率密度函数
  14. 菜鸡哈屠教你合并果子
  15. App_Offline.htm 问题解决
  16. Jiangsheng的CSDN Digest(March 4, 2006)
  17. NLP逻辑回归模型(LR)实现分类问题实例详解
  18. java 控制台 全屏_Java全屏模式与退出全屏:
  19. 树和二叉树知识点思维导图
  20. c语言习题---(if语句)

热门文章

  1. 安徽文达学院计算机协会,附件徽商职业学院第四届社团活动月策划书.doc
  2. 虚拟机vmware部署ios开发环境
  3. 介孔二氧化硅纳米颗粒(MSN)表面包覆癌细胞膜|间充质干细胞膜包载Au-Ag-PDA纳米粒子
  4. 11.25 QLU校赛(2)
  5. git 本地文件删除了更新不下来
  6. 哈夫曼树以及哈夫曼算法
  7. 7-1 判断回文字符串
  8. Linux系统编程之进程退出,父进程等待子进程退出
  9. 小马哥----高仿苹果7p 3592H-v1.0-20170306-6582机型刷机拆机图示 主板 识别多图
  10. 采空区沉降监测系统解决方案