다른 ID를 가진 레코드 만 삽입 할 수있는 코드를 작성하려고합니다. 동일한 ID가 이미 데이터베이스에 존재하면 레코드를 삽입해서는 안됩니다.이미 존재하지 않는 경우에만 데이터를 데이터베이스에 삽입하십시오.
SqlCommand cmd = new SqlCommand("insert into User(UserId,Name,Profession) values(@UserId,@Name,@Profession) WHERE NOT EXISTS (Select UserId From User where UserId = @UserId)", con);
그러나 그것은 작동하지 않고 내가 이것을 할 때, 아무것도 데이터베이스에 추가되지됩니다 :
내 SQL 코드는 이것이다. 이 쿼리는 어떻게 수정합니까?
insert into User(UserId,Name,Profession)
values(@UserId,@Name,@Profession)
WHERE NOT EXISTS (Select UserId From User where UserId = @UserId)
사용이 쿼리 : 대신
SqlCommand cmd = new SqlCommand("IF NOT EXISTS (Select UserId From User where UserId = @UserId) insert into User(UserId,Name,Profession) values(@UserId,@Name,@Profession) ", con);
'NOT IN'을 사용해보십시오. 또한 선택시 삽입 할 때 값을 선택해야하므로 값을 제거해야합니다. –
자기가하는 일 모든 경우에 userId의 중복을 방지하지 않습니다. –