문제

나는 사용 중입니다 추진 내 ORM으로.

다음 필드가있는 테이블에 배치 업데이트를 수행해야합니다.

ID
Company
Assigned

업데이트는 배열로 표시됩니다 Company 그리고 설정 AssigneD 필드 1.

문제는 동시에 발생하는 2 개의 배치 업데이트가있을 수 있다는 것입니다. 따라서 그런 일이 발생하면 하나의 업데이트를 수락하고 다른 업데이트를 거부해야합니다. 어쨌든 한 배치 업데이트를 위해 테이블을 잠글 수 있습니까? 아니면 더 나은 솔루션이 있습니까?

도움이 되었습니까?

해결책

여기 내가 찾은 해결책이 있습니다.

잠그는 대신 더 좋은 방법은 배치 업데이트를 수행 할 때 다음 동등한 쿼리를 사용하는 것입니다.

update table 
set Assigned=2
where Assigned=1
and Company in {company1, company2}

이제 반환 된 행의 수가 Company 선택된 경우 전체 작업이 있어야합니다 복구하다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top