首页 > 数据库 >SQL Server 修改自增列的标识值

SQL Server 修改自增列的标识值

时间:2023-05-04 17:47:22浏览次数:38  
标签:CHECKIDENT name new Server 标识 SQL table 增列 DBCC

DBCC CHECKIDENT检查指定表中当前标识值,如有必要,则更改标识值。

1 2 3 4 5 6 DBCC CHECKIDENT    (       table_name          [, { NORESEED | { RESEED [, new_reseed_value ] } } ]  WITH NO_INFOMSGS ] 

     参数:

  table_name是要对其当前标识值进行检查的表名,表中必须包含标识列。

      NORESEED指定不应更改当前标识值。

      RESEED指定应该当前标识值。

      WITH NO_INFOMSGS取消显示所有信息性信息。

      方法:

      1)DBCC CHECKIDENT(table_name,NORESEED)

           不重置当前标识值。DBCC CHECKIDENT将返回标识列的标识值和当前最大值。如果这两个值不相同,则应重置标识值,以避免值序列中的潜在错误或空白。

      2)DBCC CHECKIDENT(table_name)或DBCC CHECKIDENT(table_name,RESEED)

           如果表的当前标识值小于表示列中存储的最大标识值,则使用表示列中的最大值对其进行重置。

      3)DBCC CHECKIDENT(table_name,RESEED,new_reseed_value)

           当前标识值设置为new_reseed_value。如果任何行具有已不插入表,因为该表的创建,或如果已使用Truncate table语句中删除所有行,第一行后运行DBCC             CHECKIDENT插入使用new_reseed_value作为标识。

     当DBCC CHECKIDENT不自动重置当前标识值时的条件,并提供了重置该值的方法。

     1) 当前标识值大于表中的最大值

         执行DBCC CHECKIDENT(table_name,NORESEED)来确定在列中,当前最大值,然后指定此值new_reseed_value中DBCC                CHECKIDENT(table_name,RESEED,new_reseed_value)命令。 

         执行DBCC CHECKIDENT(table_name,RESEED,new_reseed_value)与new_reseed_value设置为非常低的值,然后运行DBCC        CHECKIDENT(table_name,RESEED)若要更正的值。

      2) 删除表中的所有行

          执行DBCC CHECKIDENT(table_name,RESEED,new_reseed_value)与new_reseed_value设置为所需的起始值。     

    权限        DBCC CHECKIDENT 权限默认授予表所有者、sysadmin 固定服务器角色和 db_owner 固定数据库角色的成员且不可转让。

标签:CHECKIDENT,name,new,Server,标识,SQL,table,增列,DBCC
From: https://www.cnblogs.com/Thenext/p/17371981.html

相关文章

  • 5、MySQL的SQL语言、数据库管理、数据类型及DQL的单、多表查询
    进入mysql后,使用help列出的是客户端的命令,使用helpcontents列出服务端命令SQL语句分类(DDLDMLDQL要记住)前三个重要(DDL、DML、DQL、DCL、TCL)DDL:DataDefinationLanguage数据定义语言CREATE,DROP,ALTER(对数据库、表、视图、索引进行创建、删除和更改的工具ALTER改格式)......
  • MySQL事务
    前序原文链接1:https://cloud.tencent.com/developer/article/1899373MySQL有9种存储引擎,不同的引擎,适合不同的场景,常用引擎为InnoDB,它是MySQL的默认存储引擎。登录MySQL,执行showengines可以查询MySQL支持的存储引擎,如图示:1、InnoDB引擎(1)它事务型数据库的首选引擎,支持事务安全表(AC......
  • PostgreSQL 生成随机整数
    首先random()函数用于生成0-1之间的随机数postgres=#SELECTrandom()asrand;rand--------------------0.6296923727161818(1row)取整函数有ceil()floor()trunc()postgres=#SELECTceil(1.5)asceil,floor(1.5)asfloor,trunc(1.5)astrunc;ceil|fl......
  • docker mysql 容器自动停止 -- docker update
    原因:mysql容器占用资源过高被系统杀死解决方法dockerupdate-m500M--memory-reservation500M--memory-swap1000M容器id/容器名说明-m限制内存最大值--memory-reservation是弹性控制内存大小,防止损失性能,建议要开。当宿主机资源充足时,允许容器尽量多地使......
  • PostgreSQL 12 文档: 部分 I. 教程
    部分 I. 教程欢迎来到PostgreSQL教程。下面的几章将为那些新接触PostgreSQL、关系数据库概念和SQL语言的读者给出一个简单介绍。我们只假定读者拥有关于如何使用计算机的一般知识。读者不需要特殊的Unix或编程经验。这一部分主要希望给你一些关于PostgreSQL系统的重要方面......
  • PHP基础--mysqli的事务处理
    <?php//在命令行中:默认创建的表类型为MyISAM表类型,是不支持事务的//在命令行中建表时添加type=InnoDB,默认自动提交事务autocommit,不能回滚//创建连接对象$mysqlConn=newmysqli("localhost","root","root","test");if($error=$mysqli->connect_error){die("......
  • .Net6基于IdentityServer4配置服务授权以及策略授权
    在上一篇中,配置了认证授权服务。这篇配置接口访问时进行授权新建一个名为Web.API.Test的.Net6项目,引用包源IdentityServer4.AccessTokenValidationProgram注入usingMicrosoft.AspNetCore.Authentication.JwtBearer;usingMicrosoft.IdentityModel.Tokens;builder.Service......
  • 通常SQL调优过程
    观察,至少跑1天,看看生产的慢SQL情况。开启慢查询日志,设置阙值,比如超过5秒钟的就是慢SQL,并将它抓取出来。explain+慢SQL分析。showprofile。运维经理orDBA,进行SQL数据库服务器的参数调优。总结:1、慢查询的开启并捕获2、explain+慢SQL分析3、showprofile查询SQL在M......
  • mysql - shell 执行 sql 文件有中文乱码-解决
    1.背景执行  发现部分中文乱码2.解决在执行sql语句之前,加入下面指令即可SETNAMESutf8mb4;SETFOREIGN_KEY_CHECKS=0; ......
  • 使用Kepserver 自带 DataLogger 功能 实现工控数据转储关系型数据库
    本文以Mysql数据库为例,介绍使用kepserver的datalogger功能转储数据到mysql第一步:下载安装MysqlODBC数据库驱动前往官网下载ODBC驱动https://downloads.MySQL.com/archives/c-ODBC/建议下载msi格式的安装文件  下载完成后,直接安装。如果安装过程报这个错,那就下载......