SQL Server中identity(自增)的用法
目录
零、码仙励志
一、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(自增)的用法相关推荐
- mysql identity sql_SQL Server中identity(自增)的用法详解
一.identity的基本用法 1.含义 identity表示该字段的值会自动更新,不需要我们维护,通常情况下我们不可以直接给identity修饰的字符赋值,否则编译时会报错 2.语法 列名 数据类型 ...
- SQL SERVER 中identity
SQL SERVER 中identity用法: 在数据库中, 常用的一个流水编号通常会使用 identity 栏位来进行设置, 这种编号的好处是一定不会重覆, 而且一定是唯一的, 这对table中的唯 ...
- SQL Server 中 with tmp 临时表的用法
SQL Server 中 with tmp 临时表的用法 ----------with临时表用法,有时候采用临时表比采用in的效率更高,避免了全表扫描. 实例中实现了查询普通题.大题.子题目的sql ...
- SQL Server中Identity标识列
SQL Server中,经常会用到Identity标识列,这种自增长的字段操作起来的确是比较方便.但它有时还会带来一些麻烦. SQL Server中,经常会用到Identity标识列,这种自增长的字段 ...
- SQL Server中的锁类型及用法(转载)
一. 为什么要引入锁 多个用户同时对数据库的并发操作时会带来以下数据不一致的问题: 丢失更新 A,B两个用户读同一数据并进行修改,其中一个用户的修改结果破坏了另一个修改的结果,比如订票系统 脏读 ...
- SQL Server中LIKE和PATINDEX的用法
在SQL Server中,能使用通配符的只有2个:LIKE.PATINDEX. 不过LIKE支持2种通配符转义,无限制最全面:而PATINDEX只支持最简单的通配符转义([]转义),限制较多. LIK ...
- SQL Server 中@@IDENTITY的用法
原文地址:http://www.studyofnet.com/news/145.html 本文导读:@@IDENTITY是返回上次插入的标识值,标识值一般指的是自动增长值.但是如果想只返回插入到当前作 ...
- SQL Server中Rowcount与@@Rowcount的用法 和set nocount on 也会更新@@Rowcount
rowcount的用法: rowcount的作用就是用来限定后面的sql在返回指定的行数之后便停止处理,比如下面的示例, set rowcount 10 select * from 表A 这样的查询只 ...
- SQL Server中osql/sqlcmd的基本用法
[转自] http://www.cnblogs.com/wontonJ/archive/2011/06/18/2084400.html 这段时间在做项目的时候,遇到一个问题,客户的程序要架设在自己的服 ...
最新文章
- Spring 3整合Quartz 2实现定时任务--转
- Java提高篇——Java 异常处理
- C#排队处理DEMO
- Qt的quit(),exit()以及close()事件捕获
- 右下角出现测试模式 win7 内部版本7601如何去掉
- 查看Oracle表中的指定记录在数据文件中的位置
- 功放(耳机/音箱)声压级计算(五)
- Web安全与Rational AppScan入门
- CCS导入工程时报错“overlaps the location of another project”解决办法
- 仿微信视频下载进度自定义View
- inherits在java中是什么属性_在Java中,要想让一个类继承另一个类,可以使用哪个关键字?()...
- vue手写签名,canvas手写签名,canvas签名图片旋转
- MATLAB 画正态分布和对数正态分布的概率密度函数
- 菜鸡哈屠教你合并果子
- App_Offline.htm 问题解决
- Jiangsheng的CSDN Digest(March 4, 2006)
- NLP逻辑回归模型(LR)实现分类问题实例详解
- java 控制台 全屏_Java全屏模式与退出全屏:
- 树和二叉树知识点思维导图
- c语言习题---(if语句)