0

여기 내 시나리오 :MySQL (나를위한 MySQL에서) 트랜잭션이 동시에 실행될 때 어떻게 동작합니까?

나는 테이블 A를, 마지막 3 행에 넣어 UNIQUE 인덱스 4 행 (아이디, COL1, COL2, COL3)가 (ID는 기본 키)입니다. 사용자 Foo와 사용자 Bar라는 두 명의 사용자가 있다고 가정 해 보겠습니다. Foo와 Bar 둘 다 테이블 A에 많은 행을 삽입하고 동시에 트랜잭션을 커밋하는 트랜잭션을 시작하면 UNIQUE 인덱스에 대해 테이블이 불일치 할 수 있습니까?

즉, 트랜잭션이 원 자성 (있는 경우)이라면 트랜잭션이 실행되는 동안 첫 번째 트랜잭션 일관성에 위험을 줄 수있는 트랜잭션이 실행되지 않습니다.

미리 감사드립니다.

답변

1

트랜잭션은 (대부분 트랜잭션 분리 레벨 설정에 따라) 동시에 실행되지만 커밋시 일관성을 위반하는 트랜잭션은 오류를 발생시키고 롤백되어야합니다.

+0

이 주제에 대한 링크가 있습니까? – artaxerxe

+0

안녕하세요, 답변 해 주셔서 감사합니다. :) – artaxerxe

+0

여기에서 MySQL 트랜잭션 격리 수준에 대해 알게되었습니다. http://dev.mysql.com/doc/refman/5.1/en/innodb-transaction-model.html –

관련 문제