카테고리:

트랜잭션

COMMIT

현재 세션에서 열린 트랜잭션을 커밋합니다.

참고 항목:

BEGIN , ROLLBACK , SHOW TRANSACTIONS , DESCRIBE TRANSACTION

구문

COMMIT [ WORK ]

매개 변수

WORK

다른 데이터베이스 시스템과의 호환성을 제공하는 선택적 키워드입니다.

사용법 노트

  • 한 행에서 두 COMMIT 문이 (똑같은 범위 내에서) 실행될 경우 두 번째 문은 무시됩니다. 예를 들어, 다음 코드에서 두 번째 COMMIT은 아무런 효과가 없으며 커밋할 열린 트랜잭션이 없습니다.

    begin;
    insert into table1 ...;
    commit;
    commit;  -- Ignored!
    

    자율 범위 지정 트랜잭션과 저장 프로시저 를 사용 중이라면 규칙이 더 복잡할 수 있습니다.

트랜잭션을 시작하고 테이블에 일부 값을 삽입한 다음 커밋하여 트랜잭션 완료하기:

SELECT COUNT(*) FROM A1;

----------+
 COUNT(*) |
----------+
 0        |
----------+

BEGIN NAME T3;

SELECT CURRENT_TRANSACTION();

-----------------------+
 CURRENT_TRANSACTION() |
-----------------------+
 1432071497832         |
-----------------------+

INSERT INTO A1 VALUES (1), (2);

-------------------------+
 number of rows inserted |
-------------------------+
 2                       |
-------------------------+

COMMIT;

SELECT CURRENT_TRANSACTION();

-----------------------+
 CURRENT_TRANSACTION() |
-----------------------+
 [NULL]                |
-----------------------+

SELECT LAST_TRANSACTION();

--------------------+
 LAST_TRANSACTION() |
--------------------+
 1432071497832      |
--------------------+

SELECT COUNT(*) FROM A1;

----------+
 COUNT(*) |
----------+
 2        |
----------+
맨 위로 이동