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

时间:2013-07-23 04:19:28

标签: sql-server insert duplicates constraints primary-key

我使用以下查询将数据从Sample_User_Bak插入Sample_User

INSERT INTO Sample_User (Sample_UserID, Sample_Username, Sample_Password)
SELECT Sample_UserID, Sample_Username, Sample_Password 
FROM Sample_User_Bak;

我在SQL Server中收到以下错误消息。

Violation of PRIMARY KEY constraint 'PK_Sample_User'. Cannot insert duplicate key in object 'dbo.Sample_User'.

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

2 个答案:

答案 0 :(得分:1)

如果您因为其他限制而无法删除现有数据,则可以执行此类操作。

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)

答案 1 :(得分:0)

原始数据存在于Sample_User中。这就是我无法从Sample_User_Bak插入新值的原因。

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

DELETE * FROM Sample_User

然后执行上述INSERT查询。