2013-07-08 1 views
0

주제 :MySQL에서는 BEGIN 및 COMMIT 문 내에서 FOR UPDATE를 사용해야합니까?

MySQL에서 BEGIN 및 COMMIT 문 내에서 FOR UPDATE를 사용해야합니까, 아니면 시작과 커미트가 본질적으로 같은 일을하고 있습니까?

편집 : "본질적으로 일련의 '업데이트'와 동일한 일을 시작/커밋합니까? 우리가 볼 수 MySQL documentation에서 당신이 트랜잭션을 시작한다 select for update 인 행, 고정하려면

+0

mysqli 또는 PDO 드라이버 자동 커밋 기본값을 사용하는 경우 커밋을 사용하지 않아도됩니다. –

+0

내 질문에 대한 답변이 어떻게 적용되는지 잘 모릅니다. – Agamemnus

+0

누구? ........ – Agamemnus

답변

0

내 질문은 BEGIN/COMMIT 문 내부 UPDATE에 대한 중복 여부입니다 ... 당신은 시작 트랜잭션없이 FOR UPDATE을 사용할 수 있지만 그렇지 않아 안전합니다. 나는 생각하지 않는다. 나는 생각한다. 왜냐하면 BEGIN ... COMMIT은 읽기만하는 것이 아니라 기록을 잠급니다. 아니면 아닐 수도 있습니다.

4

:

참고

UPDATE에 대한 SELECT 사용하여 업데이트에 대한 행 잠금은 경우에만 자동 커밋을 적용 START TRANSACTION을 사용하여 트랜잭션을 시작하거나 자동 커밋을 0으로 설정하여 자동 커밋을 사용하면 사양과 일치하는 행이 잠기지 않습니다.

+0

그게 질문이 아니에요 ... – Agamemnus

관련 문제