广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >sqlserver主键自增的实现示例
  • 428
分享到

sqlserver主键自增的实现示例

2024-04-02 19:04:59 428人浏览 薄情痞子
摘要

建表,主键自增 create table aaa( id bigint identity(1,1) not null PRIMARY key, name nvarchar

建表,主键自增


create table aaa(
id bigint identity(1,1) not null PRIMARY key,
name nvarchar(255)
);

navicat没办法给主键列,加identity,只能用sql建表

赋值时,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)
)
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 (‘赵七',‘女');

到此这篇关于sqlserver主键自增的实现示例的文章就介绍到这了,更多相关sqlserver主键自增内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: sqlserver主键自增的实现示例

本文链接: https://www.lsjlt.com/news/123086.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • sqlserver主键自增的实现示例
    建表,主键自增 create table aaa( id bigint identity(1,1) not null PRIMARY key, name nvarchar...
    99+
    2022-11-12
  • MySQL中自增主键的示例分析
    这篇文章主要介绍了MySQL中自增主键的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、自增值保存在哪儿?不同的引擎对于自增值的保...
    99+
    2022-10-18
  • 详解MySQL自增主键的实现
    目录一、自增值保存在哪儿?二、自增值修改机制三、自增值的修改时机四、自增锁的优化五、自增主键用完了一、自增值保存在哪儿? 不同的引擎对于自增值的保存策略不同 1.MyISAM引擎的自...
    99+
    2022-11-12
  • oracle数据库表实现自增主键的方法实例
    目录一、前言二、实现主键自动增长1、创建表格2、创建自增序列3、创建触发器4、测试新增语句总结一、前言 几天建表需要用到自增主键,于是使用序列(sequence)和触发器(trigger)来实现主键自增,在网上查了一些知...
    99+
    2022-06-23
    oracle数据库怎么设置主键自增 oracle数据库设置id自增 oracle设置自增主键
  • pgsql怎么实现自增主键id
    在PostgreSQL中,可以通过使用序列(sequences)来实现自增主键id。 首先,创建一个序列: CREATE SEQUE...
    99+
    2023-10-23
    pgsql
  • mysql 中怎么实现主键自增长
    这篇文章将为大家详细讲解有关mysql 中怎么实现主键自增长,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。mysql表主键自增长的sql语句1、不控制主键的...
    99+
    2022-10-18
  • sqlserver设置主键的实现步骤
    目录开始之前限制和局限设置主键并置为非空更改已经建好的表中主键列的字符类型开始之前 限制和局限 一个表只能包含一个 PRIMARY KEY 约束。在 PRIMARY KEY 约束中定义的所有列都必须定义为 NO...
    99+
    2023-10-19
    sqlserver设置主键 sqlserver 主键
  • mysql中怎么实现主键自动增长
    本篇文章为大家展示了mysql中怎么实现主键自动增长,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1、我们先建一个表usermysql> create tab...
    99+
    2022-10-18
  • Oracle触发器实现主键自增效果
    触发器的作用   触发器的作用类似拦截器.把一些针对数据库的DML操作(insert/update/delete/select)进行拦截,符合业务要求的进行操作,不符合要求...
    99+
    2022-11-12
  • mybatis实现oracle主键自增的机制是什么
    这篇文章主要介绍“mybatis实现oracle主键自增的机制是什么”,在日常操作中,相信很多人在mybatis实现oracle主键自增的机制是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方...
    99+
    2023-02-15
    mybatis oracle
  • Oracle实现主键字段自增的四种方式
    目录oracle实现主键自增有4种方式:方式一:Identity Columns新特性自增准备工作:方式二:创建自增序列,创建表时,给主键字段默认使用自增序列方式三:创建自增序列,使用触发器使主键自增方式四:创建自增序列...
    99+
    2023-03-13
    oracle中主键自增 oracle数据库怎么设置主键自增
  • 怎么在mysql中实现非主键自增长
    怎么在mysql中实现非主键自增长?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。mysql并非只有主键才能自增长,而是设为键的列就可以设置自增...
    99+
    2022-10-18
  • oracle数据库表怎么实现自增主键
    这篇文章主要讲解了“oracle数据库表怎么实现自增主键”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“oracle数据库表怎么实现自增主键”吧!一、前言几天建表需要用到自增主键,于是使用序列...
    99+
    2023-07-02
  • Oracle实现主键字段自增的方式有哪些
    今天小编给大家分享一下Oracle实现主键字段自增的方式有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们...
    99+
    2023-03-15
    oracle
  • mysql实现自增序列的示例代码
    创建sequence表 CREATE TABLE `sequence` ( `name` varchar(50) COLLATE utf8_bin NOT NULL COMMENT '序列的名字',...
    99+
    2022-05-28
    mysql 自增序列
  • tk.mybatis实现uuid主键生成的示例代码
    引入依赖 <dependency> <groupId>tk.mybatis</groupId> ...
    99+
    2022-11-12
  • Oracle 触发器是怎么实现主键自增效果
    今天就跟大家聊聊有关Oracle 触发器是怎么实现主键自增效果,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。触发器的作用  触发器的作用类似拦截器.把一些针对数据库的DML...
    99+
    2023-06-22
  • Shell中实现整数自增的几种方法示例
    前言 我们日常使用的Shell脚本中,在用于while或for循环中经常要涉及到整数自增的情况,其实实现自增的方法有很多,下面罗列下可能的方法,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍:...
    99+
    2022-06-04
    整数 示例 几种方法
  • Python+MongoDB自增键值的简单实现
    背景 最近在写一个测试工具箱,里面有一个bug记录系统,因为后台我是用Django和MongoDB来实现的,就遇到了一个问题,要如何实现一个自增的字段。 传统的关系型数据库要实现起来是非常容易,只要直接设置...
    99+
    2022-06-04
    键值 简单 Python
  • mybatis如何实现新增save结束后自动返回主键id
    小编给大家分享一下mybatis如何实现新增save结束后自动返回主键id,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!mybatis新增save结束后自动返回主...
    99+
    2023-06-21
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作