레코드 단위로 락을 걸려고 합니다..
문제점이.. 1번을 락을 걸고.. 2번을 select 해오면.. 테이블 전체 락이 걸려서 2번을 select 해 오지 못하네요..
어떻게 하면 레코드 단위로 락을 걸수 있는지 궁금합니다.
다음은 제가 사용한 rock 방법 입니다. DB 는 InnoDB 입니다.
1번 connection;
> set autocommit = 0;
> select * from member where idx = 1 for update;
2번 connection;
> select * from member where idx = 2 for update;
=> 이때 idx = 2 번이 select 가 되지 않습니다.
1번 connection;
> rollback;
=> 이제서야 idx = 2번이 select 가 됩니다.
> set autocommit = 1;
|