COMMIT¶
현재 세션에서 열린 트랜잭션을 커밋합니다.
- 참고 항목:
구문¶
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 |
+----------+