MySQL - 트랜잭션 (transaction)

※ InnoDB, BDB, NDB Cluster 엔진에서 사용할 수 있다.

기본적으로는 자동 커밋이 활성화 되어 있다.

하나의 DML을 수행할 때마다 서버가 자동으로 커밋을 수행한다.

비활성화 하고 싶을 때는

    mysql> SET AUTOCOMMIT = 0;

오토커밋이 비활성화 될 경우 사용자가 명시적으로 commit, rollback을 하거나 DDL, DCL 명령 들을 수행할 경우에 트랜잭션이 종료된다.

클라이언트를 정상 종료 했을 경우에는 롤백이 된다.

오토커밋이 활성화중일 때(AUTOCOMMIT=1)  특정 DML 단위에 대해서 이를 비활성화 시킬 수 있다.

    mysql> START TRANSACTION;
        또는
    mysql> BEGIN;

이후의 DML들에 대해서는 자동으로 커밋이 실행되지 않으며,
사용자가 명시적으로 커밋이나 롤백을 하면 해당 작업이 수행되고 다시 오토커밋이 활성화된다.
DDL, DCL을 수행했을 때고 커밋이 수행되고 오토커밋이 활성화된다.

by overdose | 2008/11/14 12:03 | MySQL | 트랙백 | 덧글(0)

트랙백 주소 : http://devideby0.egloos.com/tb/2136554
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]

:         :

:

비공개 덧글

◀ 이전 페이지          다음 페이지 ▶