⑴ MSsql自增序列删除数据后如何保持完整
不可以,不过可告诉你一个方法,添加一个含特定的ID值的数据
SET IDENTITY_INSERT 表名 ON --自动增长插入无效
按你的题意,可做的工作:
INSERT INTO 表名(ID,……) VALUES(5,……)
SET IDENTITY_INSERT 表名 OFF--自动增长插入有效
有时数据不一定要那么好看,呵呵,既然你追求那么好看,就只能想办法了,呵呵
⑵ sql 表的主键是自增序列,如何解决删除的id...
没有必要,不连续就不连续。干吗必要连续。
ID本来就是作为数据的唯一标识用的,只要是唯一的就行,连不连续无所谓。
因为如果连续的话,那么你每次删除数据都要进行ID重新排列,这样当数据较多时,会严重影响速度,所以大家都不这样作。
⑶ 在sql里设置了自增长列,但现在要在删除数据后这个自增长列还是按顺序增长
自增长列 不保证按顺序增长 ,所以不可能利用自增长列实现顺序增长
如果希望.顺序增长需要人为控制,或代码控制
⑷ SQL语句,删除重复记录。
如果按题目那个样子,这个表只有一个字段的话楼上的解答应该是合要求的吧。就是选出来存在一个临时表里然后再填回去:
select
distinct
test_name
into
#Tmp
from
test1
drop
table
test1
select
*
into
test1
from
#Tmp
drop
table
#Tmp
但是如果按正常的情况下这个表总会有个主键什么的吧?比如说是有个自增的ID字段。这种情况下就可以:
delete
test1
where
ID
not
in
(select
ID
from
test1
group
by
test_name)
⑸ sql删除自增长主键
有3种方法
truncate table ‘你自己的表名称’
--删除该表所有的数据
删除该表重新建
dbcc checkident(‘你的表名称’, reseed, 1)
⑹ sql 自增列删除
当你插入的时候,自增列的数据可以用SQL语句获得,比如你插入的时候自增列插入的数为:
declare @add int
select @add=count(*)+1 from 表名
insert into 表名(自增列) values(@add)
这样就可以了!
⑺ sql中自增列 id,删除其中一个 ,如何查找被删除的行
CREATETABLE#test(
idintidentity(1,1),
valint
);
INSERTINTO#testVALUES(101);
INSERTINTO#testVALUES(102);
INSERTINTO#testVALUES(103);
INSERTINTO#testVALUES(104);
INSERTINTO#testVALUES(105);
INSERTINTO#testVALUES(106);
INSERTINTO#testVALUES(107);
GO
SELECT*FROM#test
GO
idval
----------------------
1101
2102
3103
4104
5105
6106
7107
(7行受影响)
DELETEFROM#testWHEREid=2;
DELETEFROM#testWHEREid=5;
DELETEFROM#testWHEREid=6;
GO
SELECT
M.number
FROM
#testtRIGHTJOINmaster..spt_valuesM
ON(M.number=t.id)
WHERE
M.type='P'
ANDM.number>0
ANDM.number<=(SELECTMAX(id)FROM#test)
ANDt.idisnull
GO
number
-----------
2
5
6
(3行受影响)
⑻ SQL自增字段,有数据删除后,如何实现自增字段的连续
对于自增字段确实有这个问题,也无法改变,这是由于自增字段的值是内部计算,每使用一次都会自动+1,有点类似线序,你可以使用如下两种方法解决:
1、自增字段改为不用手工增加,每次都取最大值+1来存储
2、不改自增字段类型,采用逻辑删除的方法,比如在表中增加一个字段isdel(1表示已删除,0或者其它值表示没有删除),记录当前记录是否属于删除状态,
⑼ sql 里面 我有三个列 其中ID是自增 但是当我删除其中一条数据时
把数据导出到别的表备份(可以用select * into 备份表名 from 表名),然后
truncate table 表名
再把数据塞回来(注意ID不要写在insert 语句里)
insert into 表名(字段1,字段2 ) select 字段1,字段2 from 备份表名
再drop删除掉备份表即可
⑽ sql中如何删除一个表中重复的记录
sql中删除一个表中的重复记录可以采用如下步骤:
1、把a_dist表的记录用distinct去重,结果放到临时表中。
select distinct * into #temp from a_dist;
2、把a_dist表的记录全部删除。
delete from a_dist;
3、把临时表中的数据信息导进到a_dist表中,并删除临时表。
insert into a_distselect * from #temp;
drop table #temp;
(10)sql自增删除记录扩展阅读:
SQL (结构化查询语言)是用于执行查询的语法。在数据库上执行的大部分工作都由 SQL 语句完成。SQL 语言包含用于更新、插入和删除记录的语法。
增删改查指令构成了 SQL 的 DML 部分:
SELECT- 从数据库表中获取数据
UPDATE- 更新数据库表中的数据
DELETE- 从数据库表中删除数据
INSERT INTO- 向数据库表中插入数据