sql因为发现对象名称 'dbo.Ct2' 和索引名称 'PK_Ct2' 有重复的键,所以ALTER TABLE ALTER COLUMN 。。。 失败。

MSSQL向有数据的表中插入主键,因“设为主键的列有重复值“引发的报错。

下面是解决方案:

-- 1.查询表中重复的值 举例是两个条件
SELECT m.* into test1111 FROM dbo.[Ct2] m,( SELECT [cInvCCode],[Datasource] FROM dbo.[Ct2] GROUP BY [cInvCCode],[Datasource] HAVING COUNT(1)>1 ) AS m1 WHERE m.[cInvCCode]=m1.[cInvCCode] AND m.[Datasource]=m1.[Datasource]
-- 2.备份在Excle中去重

-- 3.删除重复的值 delete dbo.[
Ct2] FROM dbo.[Ct2] a inner join test1111 b on a.[cInvCCode]=b.[cInvCCode] and a.[Datasource]=b.[Datasource]
-- 4.清除中间表
drop table test1111

-- 5.把
Excle中的数据拷贝进表中
原文地址:https://www.cnblogs.com/qq2806933146xiaobai/p/15622371.html