COMMIT

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

참고 항목:

BEGIN , ROLLBACK , SHOW TRANSACTIONS , DESCRIBE TRANSACTION

구문

COMMIT [ WORK ]
Copy

매개 변수

WORK

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

사용법 노트

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

    BEGIN;
    INSERT INTO table1 ...;
    COMMIT;
    COMMIT;  -- Ignored!
    
    Copy

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

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

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 |
+----------+
Copy