FOR UPDATE
을 지정하는 이유가 무엇인지 혼란 스럽습니다. 데이터베이스가 SELECT
의 데이터로 무엇을 할 것인지 신경 써야하는 이유는 무엇입니까?SELECT ... * FOR UPDATE *의 목적은 무엇입니까?
편집 : 죄송합니다. 질문을 잘 못했습니다. 나는 문서가 "잠금 읽기"로 바뀌 었다고 말한 것을 알고 있습니다 - 내가 알고 싶은 것은 "관찰 할 수있는 행동이 FOR UPDATE
을 지정하는 것과 지정하지 않는 것 사이에 어떤 경우가 존재 하는가? 즉, 구체적으로 무엇을하는지 그 잠금 수반 업데이트하고 커밋 또는 롤백 할 및 잠금을 해제 할 때까지 UPDATE에 대한
예 - 문서를 읽었습니다.하지만 RDBMS 사용자는 어떻게해야합니까? –
업데이트 된 답변 –
아 - 이렇게하면'START TRANSACTION; SELECT MAX (id + 1) as 새 ID from FOR 테이블 FOR 업데이트; thetable (id)에 삽입하십시오 VALUES (newid); COMMIT;'- MAX() + 1에 대해 반환 된 값이 다른 누구와도 충돌 할 수 없다는 것을 알 수 있습니까? –