• 全部
  • 基础类
  • 应用实例
  • 新技术前沿

怎样删除重复记录中的一条?

shohoku_11 2003-05-11 09:33:01
表中有重复的两条记录,没有设置任何键、约束、索引,用企业管理器选中一条记录并删除时,系统提示键列信息不足,如果用查询分析器删除,则必须同时删除重复记录,能有办法用企业管理器删除其中的一条记录吗,有办法区分吗?
...全文
45 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
shohoku_11 2003-05-11
好了,谢谢各位!
回复
_西瓜皮_ 2003-05-11
不好意思,看来我的方法很笨了。显丑了~~~~...
回复
_西瓜皮_ 2003-05-11
在表中加一个字段为Bigint或int型的字段,关键看你的记录多不多,多的用bigint,
不多则可用int型,然后把他的标识改为是,标识种子和标识递增量分别为1,
这是SQL server2000的做法。

在SQL server7.0的做法
加一个字段,选中字段中的identity即可。

这样保存后在数据库中就会自动生成不重复的数,你就可以用VB控制删除那些重复的记录了。
回复
CrazyFor 2003-05-11
select col1,col2..... into #temp from table group by col1,col2....
truncate table
insert into table select * from #temp
回复
shohoku_11 2003-05-11
可是这样比较繁琐,不是吗?难道SQL中没有默认的索引值来区分这两条记录吗〉
回复
select distinct * into #t from yourtable
go
delete yourtable
go
insert into yourtable select * from #t
go
回复
pengdali 2003-05-11
或:

select distinct * into #temp from 表
truncate table 表
insert 表 select * from #temp
drop table #temp
回复
pengdali 2003-05-11
alter table 表 add newfield int identity(1,1)

delete 表
where newfield not in(
select min(newfield) from 表 group by 除newfield外的所有字段
)

alter table 表 drop column newfield
回复
相关推荐
发帖
MS-SQL Server
创建于2007-09-28

3.3w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
帖子事件
创建了帖子
2003-05-11 09:33
社区公告
暂无公告