一.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 20. 包含min函数的栈 (栈)

    题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1)). 题目地址 https://www.nowcoder.com/practice/4c77 ...

  2. vue 安卓5.1 ios9 兼容性 白屏问题

    // 针对安卓4.4/ios的兼容 import 'babel-polyfill' import Es6Promise from 'es6-promise' require('es6-promise' ...

  3. sql中的内联和外联(简单用法)

    有两张表:user和department User表: CREATE TABLE `user` (    `id` int(11) NOT NULL AUTO_INCREMENT,    `name` ...

  4. CPU查询

    请问:两路四核超线程=多少CPU??? 答案:16个 一.解释说明 两路=物理主机中,CPU的卡槽,槽位,这个无法增加,一个萝卜一个坑.就更内存卡槽一样,两个内存卡卡槽,a+b=总内存. 路=槽位=插 ...

  5. 20155208徐子涵 Exp4 恶意代码分析

    20155208徐子涵 Exp4 恶意代码分析 实践目标 1.1是监控你自己系统的运行状态,看有没有可疑的程序在运行. 1.2是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件:分析工具尽量使 ...

  6. zabbix客户端的安装、zabbix主被动模式、添加主机模板等、处理页面的中文乱码

    1.zabbix客户端的安装: 如下步骤: wget repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch. ...

  7. vs+qt 运行过程出现cannot run rc.exe

    刚开始,我按照网上的一堆教程在qt creator中设置了各种东西,设置完以后,运行时出现cannot run rc.exe,根据百度,将C:\Program Files (x86)\Windows ...

  8. Appium介绍及工作原理

    一.Appium介绍 Appium是一个开源.跨平台的测试框架,可以用来测试原生及混合的移动端应用.Appium支持IOS.Android及FirefoxOS平台.Appium使用WebDriver的 ...

  9. Redis中存入存储的编码方式不一致解决问题

    在利用redis缓存的时候,存入的数据与取出的数据编码方式不一致解决办法. from redis import StrictRedis #ecoding = 'utf-8',默认解码方式为bytes, ...

  10. CIFAR10数据可视化

    一.数据准备 下载cifar-10-binary.tar.gz并解压,其中有多个bin文件,现对data_batch_1.bin进行可视化. 二.数据说明 该二进制文件存储的有10000张32X32的 ...