2013-07-23 5 views
0

Пока я вставляя данные из 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'.

Обе таблицы имеют одинаковые имена столбцов. Я просто пытаюсь вставить значения в обычную процедуру. Что не так с моим запросом? Любая помощь будет высоко ценится.

+1

Вы проверили данные в обеих таблицах? .Есть должны быть записи с одинаковым значением в одном из ваших полей первичного ключа .. – Appyks

+0

@Appyks, Вы правы. Вот почему я получаю эту ошибку. –

ответ

0

Исходные данные имеются в Sample_User. Вот почему я не могу вставить новые значения из Sample_User_Bak.

Итак, сначала я удалил значения из Sample_User.

DELETE * FROM Sample_User

, а затем выполнили выше INSERT запроса.

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) 
Смежные вопросы