오라클과 Mysql 의 MAX함수의 동시성문제 문의 0 0 1,355

by 이상훈 [MySQL] [2016.03.30 09:34:07]


안녕하세요 

MYSQL 에서 MAX 함수를 사용한뒤 insert 할때 동시성 문제가있는지 궁금합니다,

보통 Auto_Increment 된 컬럼은 LAST_INSERT_ID() 로 동시성 문제에 안전하게 ID 값을 가지고 올수 있다고 알고있는데요.

제가 현재 insert 하려는값은 id(pk) 가 아닌 소팅 순서에 영향을 주는 컬럼입니다. 

이컬럼은 사용자가 순서를 변경함에 따라 지속적으로 순서가 업데이트 될수있습니다.

그러다 보니 LAST_INSERT_ID 를 사용하지 못하고 MAX 함수로 MAX(priority)+1 를 사용하고있는데 

동시성 문제가 있다면 어떤식으로 해결해야할까요?

오라클에서도 마찬가지입니다. LAST_INSERT_ID() 대신 시퀀스가 아니기때문에 CURRVAL 도 사용하지 못하는상황입니다. 

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입