读书人

SQL2008数据导出出错!请各位帮忙瞧瞧

发布时间: 2013-02-17 10:44:46 作者: rapoo

SQL2008数据导出出错!请各位帮忙瞧瞧,谢谢!


为什么会这样呢?
[解决办法]
违反了 PRIMARY KEY 约束 'PK_SF_ADClass'。不能在对象 'dbo.SF_ADClass' 中插入重复键

这个重复有两个可能
1、原表就有重复,但是原表没有约束
2、虽然原表没有重复,但是目的表数据与原表数据有重复

[解决办法]
请先使用语句
若是单一主键
select * from dbo.SF_ADClass as t1
where exists
(
select 1 from dbo.SF_ADClass AS t2
where t2.PKCol=t1.PKCol
group PKCol
having COUNT(PKCol)>1
)
若是复合主键
select * from dbo.SF_ADClass as t1
where exists
(
select 1 from dbo.SF_ADClass AS t2
where t2.PKCol1=t1.PKCol1 and t2.PKCol2=t1.PKCol2
group PKCol1,PKCol12
having COUNT(PKCol1+PKCol12)>1
)
找出重复的主键,干掉或update掉重复的部分
然后再导入就性。
导致原因正如3L所说

读书人网 >SQL Server

热点推荐