日期:2014-05-17  浏览次数:20527 次

插入重复键错误
提示:违反了 PRIMARY KEY 约束 'PK_ACTMJ'。不能在对象 'dbo.ACTMJ' 中插入重复键。
语句已终止。

表B好几十个字段,有四个PK字段
表A共7个字段
将表A数据到入表B提示以上错误,

insert into B
select null,null,null,null,null,null,null,
MJ001,MJ002,MJ003,MJ004,MJ005,MJ006,MJ007,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL
FROM A

急求解决,谢谢



------解决方案--------------------
违反了主键约束,解决什么?自己查A表中查询出来的数据对应b表里的主键的重复值啊
------解决方案--------------------
insert into B(字段1,字段2....)select 。。。。 from A
------解决方案--------------------
你要插入的数据主键字段在表里已经存在了.不能再写入咯
------解决方案--------------------
估计你查出来的有重复数据,违反了主键原则
------解决方案--------------------
如果你的主键是复合主键,那么只有当复合键的所有成员都重复的时候才会认为重复。
------解决方案--------------------
引用:
B表是测试帐套只有2行数据

所以你可以单独查一下这两行数据是否在A表中是否存在啊~
就如你说的,你知道提示的意思,那就按提示的方向查嘛
复合主键冲突的话,需要全部键都完全相同