sqlserver中主键的标示规范设为‘是’后,当删除其中一行后,后面的主键如何重新排序?(如图)

问题描述

sqlserver中主键的标示规范设为‘是’后,当删除其中一行后,后面的主键如何重新排序?(如图)


sqlserver中主键的标示规范设为‘是’后,当删除其中一行后,后面的主键如何从新排序?(如图)
如上图当将第3第4行删除后如何将第5行的主键编号重新编号为3?

解决方案

一行删掉就是删掉了,不用重新排序。排序是做查询的时候才做的事情、

解决方案二:

如果想要实现排序 就不要用自增长列
你把id设置为每次都插入现有id最大的加1
当删除的时候,将所有大于删除行id的其余行的id全部减1就好

时间: 2024-11-18 04:04:16

sqlserver中主键的标示规范设为‘是’后,当删除其中一行后,后面的主键如何重新排序?(如图)的相关文章

在GridView中LinkButton的属性的应用(如何不用选中就删除这一行)_实用技巧

1.在gridview中一直对"删除"不是很理解,在ASP的模式下面,这个删除链接应该有一个行ID标识,以便程序知道删除那一行,或针对这行做一些处理,然而在ASP.net里面也可以用,但是不是最好的. 2.应该用LinkButton的各种属性,这时候非常方面,而且便于理解.这样不用选中一行(gridview.selectedRow 提供定位信息),然后再点击某种操作了. 请注意 CommandName, CommandArgument 和 LinkButton的名字 CommandAr

SQL Server 2008设置主键和把它设为自增

环境:SQL Server 2008 问题:设置主键和把它设为自增. 解决:点击table->选中表- >design->选中需要设置主键的字段,单击右键"设置主键"即可. 若要设置主键自增 ,在列属性中找到标识规范,单击左边的"+"号,把否改为是,其他默认即可.

求大神:在sqlserver中怎么快速加外键和索引

问题描述 求大神:在sqlserver中怎么快速加外键和索引 建立了四张表,怎么操作给表关联外键,和创建索引.不用写代码的 ,直接在工具上操作的步骤是什么

SqlServer中存储过程中将Exec的执行结果赋值给变量输出

原文 SqlServer中存储过程中将Exec的执行结果赋值给变量输出 背景: 遇到这样一种情况:动态向存储过程中传入表名和表的某些属性(这里用到的是主键ID),然后利用这两个变量查出一条数据的某些字段值,然后再利用这些值进行逻辑运算(自己的逻辑),最后将结果输出.话不多说,直接上图,看是否是你想要的结果: 说明:[区域1为要用来测试的表][ 区域2 为表中数据][区域3 为表中数据jan+feb+mar列值的和5] 存储过程代码如下: 从上图可以看出既然可以拿到jan .feb.mar列的值,

将使用Access的论坛迁移到SqLServer中

利用动网提供的论坛程序创建了一个内部论坛.原来,这个论坛是发布在windows2000的IIS5上的.他的数据库用的是Access.可是,当我将这个论坛迁移到windows2003上以后,发现经常死掉.到网上找了一下,并且咨询了微软的工程师,很多人都认为i这跟他使用Access有关.并且,我想在公司内部网站首页增加一个跑马灯来显示论坛中的新帖子,可是,如果继续用Access的话,访问起来不是那么方便.于是决定迁移到SQl中.第一步:将数据导入SQL Server 进到SQL Server企业管理

详解C#批量插入数据到Sqlserver中的四种方式_C#教程

本篇,我将来讲解一下在Sqlserver中批量插入数据. 先创建一个用来测试的数据库和表,为了让插入数据更快,表中主键采用的是GUID,表中没有创建任何索引.GUID必然是比自增长要快的,因为你生成一个GUID算法所花的时间肯定比你从数据表中重新查询上一条记录的ID的值然后再进行加1运算要少.而如果存在索引的情况下,每次插入记录都会进行索引重建,这是非常耗性能的.如果表中无可避免的存在索引,我们可以通过先删除索引,然后批量插入,最后再重建索引的方式来提高效率. create database C

C#批量插入数据到Sqlserver中的三种方式_C#教程

本篇,我将来讲解一下在Sqlserver中批量插入数据. 先创建一个用来测试的数据库和表,为了让插入数据更快,表中主键采用的是GUID,表中没有创建任何索引.GUID必然是比自增长要快的,因为你生成一个GUID算法所花的时间肯定比你从数据表中重新查询上一条记录的ID的值然后再进行加1运算要少.而如果存在索引的情况下,每次插入记录都会进行索引重建,这是非常耗性能的.如果表中无可避免的存在索引,我们可以通过先删除索引,然后批量插入,最后再重建索引的方式来提高效率. create database C

sqlserver中操作主从关系表的sql语句

sqlserver中操作主从关系表的sql语句,重点讲解,科目信息传递过后怎么处理.假设从表Tb_StudentSubject 存在StudentId,SubjectId两个字段.那么代码如下: 复制代码 代码如下: Create proc SaveInfo ( ---参数列表不再逐一书写 @subjectList varchar(400)) as begin tran --新增或修改主表 省略 DECLARE @subjectID int, @subjectIDsLen int,--科目长度

SQLServer中的死锁的介绍

原文:SQLServer中的死锁的介绍 简介      什么是死锁?      我认为,死锁是由于两个对象在拥有一份资源的情况下申请另一份资源,而另一份资源恰好又是这两对象正持有的,导致两对象无法完成操作,且所持资源无法释放.       什么又是阻塞?      阻塞是由于资源不足引起的排队等待现象.比如同时两个进程去更新一个表.      这里我们可以把阻塞作为死锁的必要条件.下面我们先理解一下死锁和阻塞再来看一下我最近遇到一个问题以及解决思路. SQLServer中的死锁      对应到