一.identity的基本用法

  1.identity的含义:

    identity表示该字段的值会自动更新,通常情况下,不允许直接修改identity修饰的字段,否则编译会报错

  2.基本语法

    列名  数据类型  identity(m,n) 约束

    identity(m,n)中的m表示起始编号,n表示每次增加的值

    如果m和n都没有指定,默认为identity(1,1)

    m和n要么都指定,要么都不指定,不能只写一个

  3.实例演示

--创建自增列
create table classmate
(
    ID int identity primary key,
    Name ) not null
)
--向含有自增列的表中插入一行记录
insert into classmate values ('张俭')
insert into classmate values('宋亚楠')
select * from classmate

指定m,n的值:

--指定m,n的值创建自增列
create table classmate2
(
    ID ,) primary key,
    Name ) not null
)
insert into classmate2 values ('赵雷')
insert into classmate2 values('岳云鹏')
select * from classmate2

 

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

--指定m,n的值创建自增列
create table classmate2
(
    ID ,) primary key,
    Name ) not null
)
insert into classmate2 values ('赵雷')
insert into classmate2 values('岳云鹏')
select * from classmate2
;
insert into classmate2 values('郭德纲')

  可以看到,删除一条记录后在增加,自增列从被删除的记录行的值之后递增 

二.重新设置identity字段的值

  1.基础语法

    dbcc checkident(表名,ressed,n);

  2.实例

--修改identity字段的初始值
create table deyunshe
(
    ID int identity primary key,
    Name ) not null
)
insert into deyunshe values('郭德纲')
insert into deyunshe values('于谦')

);
insert into deyunshe values('岳云鹏');

三.向identity字段插入值

  一般情况下,identity(自增)字段不允许手动插入值,但也可通过以下方法,进行手动插入

  

--identity字段手动插入值
create table deyunshe2
(
    ID int identity primary key,
    Name ) not null
)
insert into deyunshe2 values('郭德纲');
insert into deyunshe2 values('于谦');
insert into deyunshe2 values('岳云鹏');
set identity_insert deyunshe2 ON;
,'孙越');
set identity_insert deyunshe2 off;
insert into deyunshe2 values('张云雷');

注意:插入数据时必须得指定identity修饰的字段的名字

Sql Server数据库之identity(自增)的更多相关文章

  1. SQL server数据库的链接以及增删改查的操作

    1.添加引用using System.Data;using System.Data.SqlData;2.建立于数据库的连接,建议将它做成一个方法,方便多次利用.string sqlconnection ...

  2. SQL Server数据库表重置自增主键号(通常是指ID)

    执行 DBCC CHECKIDENT ('table_name', NORESEED) 以确定列中的当前最大值 然后使用 DBCC CHECKIDENT ('table_name', RESEED,n ...

  3. SQL Server数据库自增字段正确的插入值的描述

    我们今天主要向大家讲述的是SQL Server数据库之向SQL Server自增字段正确的插入值的实际操作步骤,在一般的情况下,我们不能向 SQL Server 数据库自增字段中插入值,如果非要这么干 ...

  4. 详解连接SQL Server数据库的方法,并使用Statement接口实现对数据库的增删改操作

    总结一下,连接SQL Server数据库需要以下几个步骤: 1. 导入驱动Jar包:sqljdbc.jar 2. 加载并注册驱动程序 3. 设置连接路径 4. 加载并注册驱动 5. 连接数据库 6. ...

  5. python连接sql server数据库实现增删改查

    简述 python连接微软的sql server数据库用的第三方模块叫做pymssql(document:http://www.pymssql.org/en/stable/index.html).在官 ...

  6. 5、SQL Server数据库、T-SQL

    SQL Server数据库基础 一.安装SQL Server数据库 setup.exe->安装->全新SQL Server独立安装或向现有安装添加功能->输入序列号->下一步- ...

  7. SQL Server - 数据库初识

      在互联网笔试中,常遇到数据库的问题,遂来简单总结,注意,以 Sql Server 数据库为例. 数据库 数据库系统,Database System,由数据库和数据库管理系统组成. 数据库,Data ...

  8. 转:SQL SERVER数据库中实现快速的数据提取和数据分页

    探讨如何在有着1000万条数据的MS SQL SERVER数据库中实现快速的数据提取和数据分页.以下代码说明了我们实例中数据库的“红头文件”一表的部分数据结构: CREATE TABLE [dbo]. ...

  9. 利用PowerDesigner绘制PDM生成SQL Server数据库

    PowerDesigner是个很强大的建模工具,可以利用它绘制各种图形,本文利用该工具绘制PDM,进而生成SQL Server数据库. 比如绘制一个简单的学生选课.教师授课管理系统的PDM: pk表示 ...

随机推荐

  1. 剑指Offer 32. 把数组排成最小的数 (数组)

    题目描述 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个.例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323. 题目地址 h ...

  2. cython 成功创建import 模块

    又是因为别人代码里有这么一个部分,用到了cython,,简而言之,就是利用这个模块调用C语言,从而加速程序运行,其中具体怎么调用我还没整清楚,但基本用法差不多了解了. 1 安装:https://www ...

  3. [LeetCode&Python] Problem 844. Backspace String Compare

    Given two strings S and T, return if they are equal when both are typed into empty text editors. # m ...

  4. 《深入.NET平台和C#编程》内部测试题-笔试试卷答案

    1)      以下关于序列化和反序列化的描述错误的是( C). a)      序列化是将对象的状态存储到特定存储介质中的过程 b)      二进制格式化器的Serialize()和Deseria ...

  5. switch语句判断学生成绩

    下面通过判断学生成绩来展示switch语句的使用. Q:判断学生成绩的等级,90-100分为A级,80-89为B级,70-79为C级,60-69为D级,60以下不及格. package main im ...

  6. 《Linux内核原理与分析》第五周作业

    课本:第4章 系统调用的三层机制(上) -用户态.内核态和中断 -用户态:在低的执行级别下,代码能够掌控的范围有所限制,只能访问部分内存. -内核态:在高的执行级别下,代码可以执行特权指令,访问任意的 ...

  7. struct 和typedef struct

    1.typedef (1)typedef的使用 定义一种类型的别名,而不只是简单的宏替换(见陷阱一).用作同时声明指针型的多个对象 typedef char* PCHAR; // 一般用大写,为cha ...

  8. 转"container of()函数简介"链接地址

    https://blog.csdn.net/s2603898260/article/details/79371024 提示关键字: 指针0的使用 typeof的使用

  9. requestmapping等相关知识

    @responseBody注解的使用   1. @responseBody注解的作用是将controller的方法返回的对象通过适当的转换器转换为指定的格式之后,写入到response对象的body区 ...

  10. 集合总结四(LinkedHashMap的实现原理)

    一.概述 按照惯例,先看一下源码里的第一段注释: Hash table and linked list implementation of the Map interface, with predic ...