DB 테이블 products
에 5 개의 열이 있습니다. Id
이 기본 키입니다. SQL Server Management Studio를, 당신은 분명히 여기 볼 수 있습니다SQL Server에서 키가 아닌 속성에 대해 "중복 키"오류가 발생합니까?
나는 product
와 Id
= 69 Name
= "잔디 다트"가. Id
= 420 및 Name
= "잔디 다트"라는 신제품을 삽입하려고합니다. ID 삽입을 사용하여 삽입 된 제품의 ID를 지정할 수 있습니다. 따라서 이름은 동일하지만 이드는 다릅니다. 이건 아무 문제 없어. 맞지?
C# 콘솔 응용 프로그램에 삽입하려면 LINQ -> SQL을 사용하고 있습니다. 저도 같은 Name
하지만 다른 Id
뭔가를 삽입 할 때, 나는 다음과 같은 오류 메시지가 :
개체에 고유 인덱스 'IX_Name'와 'dbo.Products를'중복 키 행을 삽입 할 수 없습니다. 중복 키 값은 (잔디 다트)입니다.
왜 키가 아닌 경우?
당신은 확실히 당신의 이름 열에 고유 인덱스 (IX_Name)가 있습니다. 그게 오류입니다. SSMS에서 테이블에 대한 키 폴더를 열고 거기를보십시오. 두 번째 오류는 사용자가 고유 한 값을 ID 열에 삽입 할 수 없다는 것을 알려줍니다. 그렇게하기 위해서는'SET IDENTITY_INSERT TableName ON'을 사용해야하며, 끝나면'OFF'로 설정해야합니다. – rook
@rook 네, 맞습니다. 나는 잘못된 설정을 조사하고있었습니다. 나는 칼럼을 오른쪽 클릭하고'칼럼/키 ... '를 클릭해야했다. 'product'가 정의 된 C# 코드에는 명확하게 IsUnique 주석이 있습니다. 그들의 첫번째 모습을 보았을 것입니다 ... – AlbatrossCafe