DATABASE/MSSQL

[MSSQL] 중복된 데이터로 인해 레코드가 삭제 안될때..

donghunl 2011. 6. 2. 07:51
반응형

Primary키가 없는 테이블에서 동일한 정보의 레코드(예시테이블 참조)가 있어 삭제를 할려고 할경우 다음과 같은 에러가 발생한다.

에러메세지 :  The row value(s) updated or deleted either do not make the row unique or they alter multiple rows.

예시 테이블 정보
ID Name
1 John
1 John
1 John


해결방법 : Temp id를 생성하여 각 레코드를 unique한 레코드로 변경시킨후 삭제한다.
1) SQL Server Management Studio 실행
2) New Query 오픈 후 해당 데이터베이스 선택
3) 다음 Query 실행

ALTER TABLE dbo.테이블이름 ADD TempID int IDENTITY(1, 1);

4) 각 레코드가 unique한 레코드로 변경되었으므로 해당 데이터를 삭제한다.
반응형