MSSQL自增序列删除数据后如何保持完整
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MSSQL自增序列删除数据后如何保持完整相关的知识,希望对你有一定的参考价值。
数据库中ID列为自增序列,当我删除ID为5时,ID列排列即为1,2,3,4,6,7,数据不完整,如何能在删除后使删除的ID以下的数据能接上删除的上一条数据。请高手帮忙,谢谢
为什么我执行了set identity_insert 表名 on再插入行,会提示我 identity_insert仍处于off状态
SET IDENTITY_INSERT 表名 ON --自动增长插入无效
按你的题意,可做的工作:
INSERT INTO 表名(ID,……) VALUES(5,……)
SET IDENTITY_INSERT 表名 OFF--自动增长插入有效
有时数据不一定要那么好看,呵呵,既然你追求那么好看,就只能想办法了,呵呵 参考技术A 1. 对于id连续的想法建议你放弃.加入一张表里面有几百万甚至上亿条数据,你删除了第二条,要让他连续的话后面的所有记录都要做更新.那对数据库性能会造成多大的影响啊. 这个id只要能唯一标识该列就行了,追求他的连续没有太大意义.
2. set identity_insert 表名 on ,之后,在插入语句中需要明确写出字段列表才能实现插入. 比如这样写:
insert into 表名([id],字段2,字段3,......)
values (.......)
这样就可以.
如果你写的是
insert into 表名
values (.......)
这就是不行的.会提示错误
解决在mysql表中删除自增id数据后,再添加数据时,id不会自增1的问题
https://blog.csdn.net/shaojunbo24/article/details/50036859
问题:mysql表中删除自增id数据后,再添加数据时,id不会紧接。
比如:
自增id
1 2 3 4
现在删除4,就变成了
1 2 3
这时候,如果增加一条数据,会变成
1 2 3 5
上面5不是我们想要的结果,4才是理想的id,
解决方法是,在删除4之后,执行下面的sql语句:
ALTER TABLE table_name AUTO_INCREMENT = 1;
以上是关于MSSQL自增序列删除数据后如何保持完整的主要内容,如果未能解决你的问题,请参考以下文章
sql中自增列 id,删除其中一个 ,如何查找被删除的行??