문제
나는 사용 중입니다 추진 내 ORM으로.
다음 필드가있는 테이블에 배치 업데이트를 수행해야합니다.
ID
Company
Assigned
업데이트는 배열로 표시됩니다 Company
그리고 설정 Assigne
D 필드 1
.
문제는 동시에 발생하는 2 개의 배치 업데이트가있을 수 있다는 것입니다. 따라서 그런 일이 발생하면 하나의 업데이트를 수락하고 다른 업데이트를 거부해야합니다. 어쨌든 한 배치 업데이트를 위해 테이블을 잠글 수 있습니까? 아니면 더 나은 솔루션이 있습니까?
해결책
여기 내가 찾은 해결책이 있습니다.
잠그는 대신 더 좋은 방법은 배치 업데이트를 수행 할 때 다음 동등한 쿼리를 사용하는 것입니다.
update table
set Assigned=2
where Assigned=1
and Company in {company1, company2}
이제 반환 된 행의 수가 Company
선택된 경우 전체 작업이 있어야합니다 복구하다.
제휴하지 않습니다 StackOverflow