sql 怎样删除多条重复记录的一条记录

例:nameNoaaa1aaa1aaa1删除一条记录后得到结果nameNoaaa1aaa1... 例:
name
No
aaa
1
aaa
1
aaa
1
删除一条记录后得到结果
name
No
aaa
1
aaa
1
展开
 我来答
匿名用户
2013-12-19
展开全部
如果所用的数据库是 Microsoft SQL Server的话,对于这种所有字段完全相同的数据记录,是无法做到只删除一条的,因为数据库无法定位这些相同的记录中的某一条!

所以,如果执行删除的话,只有两种可能(具体看你所使用的SQL查询工具了):1)报错,无法删除,比如在SQL企业管理器中直接选中数据并做删除操作;2)相同的记录全部删除,比如用SQL查询分析器。

那么楼主的问题要如何解决呢,思路是这样:
1)去掉重复的:
select distinct * into #tmp from [tablename] --将唯一性记录写入临时表
delete from [tablename] --将原表数据清空(最好先备份一下原数据表)
insert into [tablename] select * from #tmp --从临时表将数据插回

2)如果一定要数据重复,那请修改表[tablename]结构,增加一个[ID]字段,并让它自动增长,以便将相同记录区分开来。然后将需要重复的记录用如下语句重复插入:
insert into [tablename] (字段列表-不包含那个ID字段)
select (字段列表-不包含那个ID字段)from [tablename] where [ID]=XXXX (注:XXX是事先查到的需要重复的记录ID字段值)

GoodLuck!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式