有两个结构完全一样的数据库A、B,表的主键约束也是一样的。首先把数据全部导入到A里,再把A里的数据更新到B里,更新时判断B中是不是已经有了主键相同的记录,有了则删除原来的,插入新的。这是我要做的详细操作。
一开始A、B都是空的,都是新建的。然后将数据导入到A里时没有出问题;将A里数据导入到B里是报了“违反了Primary Key”的错误。从A到B我是用包含了游标的存储过程实现的。报错后,我查看数据库内数据,A里面的数据都全部插入到B里面了,用Profiler跟踪器跟踪显示存储过程也执行完成了,但是在C#代码里面的ExecuteNonQuery时就是报这个错。大家觉得哪里可能出问题,尽量帮帮我。谢谢各位了!
SQLServer违反了PrimaryKey约束怎么解决
答案:4 悬赏:0 手机版
解决时间 2021-12-16 18:38
- 提问者网友:藍色情侶裝
- 2021-12-16 03:15
最佳答案
- 五星知识达人网友:少女情怀总是梦
- 2021-12-16 03:44
你确定数据全部从A导入到B里了吗?没有缺少任何一条记录吗?
如果是这样的话,出现违反Primary Key这个错误,会不会导入了两次?就是说存储过程或者程序里进行了两次导入。
如果是这样的话,出现违反Primary Key这个错误,会不会导入了两次?就是说存储过程或者程序里进行了两次导入。
全部回答
- 1楼网友:会挖宝的小仙女
- 2021-12-16 06:17
争议应该是第二个文件本来就有重复记录,
你可以先不设置主键,把数据先导进去再说。
再设置主键,看看是否报错提示。就知道了是否有重复记录了
- 2楼网友:若愛只如初見
- 2021-12-16 05:20
不可能,首先你检查一下你的主键是否设置的是并且设置对了,然后手动添加试试,不会出现你说的主键重复的问题,除非确实重复了
- 3楼网友:匿名的关系
- 2021-12-16 04:37
把你的SQL发上来,帮你看下,我感觉应该是某个分支写错了!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯