
sqlserver 2005怎样删除数据表中重复的数据
现在正在做一个项目,在测试的时候重复添加到数据库表中很多数据,现在想要重新整理一下数据库,就是把重复的数据删除(当然不是全部删除,而是重复的数据至少要保留一条),该怎么做...
现在正在做一个项目,在测试的时候重复添加到数据库表中很多数据,现在想要重新整理一下数据库,就是把重复的数据删除(当然不是全部删除,而是重复的数据至少要保留一条),该怎么做?
因为有多个表都需要重新整理,无法将表结构都写出来,请大家帮帮忙
唯一的共同点就是,这几张表中都有ID字段是自动增长列,也是主键 展开
因为有多个表都需要重新整理,无法将表结构都写出来,请大家帮帮忙
唯一的共同点就是,这几张表中都有ID字段是自动增长列,也是主键 展开
3个回答
展开全部
用select Top 1 选择到临时表,清空当前表,再重新初始化自增因子,然后写回!
更多追问追答
追问
你的意思是再重新添加新的数据吗?还是怎样
追答
比如,你的原始表有100条数据,其中重复的有若干条 表名为SOURCE
你就 Select Top 1 * FROM SOURCE INTO tempdb
DELETE * from Source
into into source select * from Tempdb..
大体就这样吧……。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select 标识列1....等所有你想保存的列 from table1 into tempTable
group by 标识列1..等所有你想保存的列
having count (标识列)>1
--ID除外
delete from table1 where 标识列 in (select 标识列 from tempTable)
insert into table1 (所有列) select 所有列 from tempTable Group by 所有列
group by 标识列1..等所有你想保存的列
having count (标识列)>1
--ID除外
delete from table1 where 标识列 in (select 标识列 from tempTable)
insert into table1 (所有列) select 所有列 from tempTable Group by 所有列
更多追问追答
追问
这个插入不了值啊
我在sql中执行了,报这个错,你帮忙看一下,谢谢了!
(0 行受影响)
消息 544,级别 16,状态 1,第 3 行
当 IDENTITY_INSERT 设置为 OFF 时,不能为表 'stu' 中的标识列插入显式值。
追答
不要把ID也加入 标示行,或者,把IDENTITY_INSERT 设置为 ON 时
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |