Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 将数据从一个表插入另一个表时出错_Sql Server_Insert_Duplicates_Constraints_Primary Key - Fatal编程技术网

Sql server 将数据从一个表插入另一个表时出错

Sql server 将数据从一个表插入另一个表时出错,sql-server,insert,duplicates,constraints,primary-key,Sql Server,Insert,Duplicates,Constraints,Primary Key,当我使用以下查询将数据从Sample\u User\u Bak插入到Sample\u User时: INSERT INTO Sample_User (Sample_UserID, Sample_Username, Sample_Password) SELECT Sample_UserID, Sample_Username, Sample_Password FROM Sample_User_Bak; 我在SQL Server中收到以下错误消息 违反主键约束“PK\u Sample\u User

当我使用以下查询将数据从
Sample\u User\u Bak
插入到
Sample\u User
时:

INSERT INTO Sample_User (Sample_UserID, Sample_Username, Sample_Password)
SELECT Sample_UserID, Sample_Username, Sample_Password 
FROM Sample_User_Bak;
我在SQL Server中收到以下错误消息

违反主键约束“PK\u Sample\u User”。无法在对象“dbo.Sample\u User”中插入重复的密钥。


两个表具有相同的列名。我只是想在正常过程中插入这些值。我的问题出了什么问题?任何帮助都将不胜感激。

原始数据存在于
Sample\u User
中。这就是为什么我不能从
Sample\u User\u Bak
插入新值的原因

因此,我首先从Sample_User中删除了这些值

DELETE*FROM Sample\u User


然后执行上述
插入
查询。

如果遇到由于其他限制而无法删除现有数据的情况,可以执行类似操作

INSERT INTO Sample_User 
(Sample_UserID, Sample_Username, Sample_Password)
SELECT Sample_UserID, Sample_Username, Sample_Password 
FROM Sample_User_Bak
WHERE Sample_User_Bak.Sample_UserID not in 
(SELECT Sample_UserID FROM Sample_User)

您检查了两个表中的数据了吗?。其中一个主键字段中必须有值相同的记录。@Appyks,您是对的。这就是为什么我会犯这样的错误。