다음은 현재 MySQL 트랜잭션을 명시적으로 종료할 수 있는 방법입니다. -
COMMIT 명령으로
COMMIT 명령을 실행하면 현재 트랜잭션이 명시적으로 종료됩니다. 이 경우 변경 사항이 커밋됩니다.
예시
mysql> START TRANSACTION;Query OK, 영향을 받는 행 0개(0.00초)mysql> INSERT INTO Marks Values(1, 'Aarav','Maths',50);Query OK, 영향을 받는 행 1개(0.00초)mysql> INSERT INTO Marks Values(2, 'Harshit','Maths',55);쿼리 OK, 1행 영향(0.00초)mysql> COMMIT;쿼리 OK, 0행 영향(0.06초)
이 예에서 COMMIT 문은 트랜잭션을 명시적으로 종료하고 변경 사항이 저장됩니다.
<미리>mysql> SELECT * FROM 마크;+---------+------+---------+-------+| 아이디 | 이름 | 주제 | 표시 |+------+---------+---------+------+| 1 | 아라브 | 수학 | 50 || 2 | 가혹한 | 수학 | 55 |+------+---------+---------+----+2행 세트(0.00초)ROLLBACK 명령으로
ROLLBACK 명령을 실행하면 현재 트랜잭션이 명시적으로 종료됩니다. 이 경우 변경 사항이 롤백됩니다.
예시
테이블 'marks'에 다음 데이터가 있고 다음과 같이 트랜잭션 및 ROLLBACK 명령을 적용했다고 가정합니다. -
<미리>mysql> SELECT * FROM 마크;+---------+------+---------+-------+| 아이디 | 이름 | 주제 | 표시 |+------+---------+---------+------+| 1 | 아라브 | 수학 | 50 || 2 | 가혹한 | 수학 | 55 |+------+---------+---------+----+2행 세트(0.00초)mysql> START TRANSACTION;Query OK, 영향을 받는 행 0개(0.00초)mysql> INSERT INTO Marks Values(3, 'Rahul','History',40);Query OK, 영향을 받는 행 1개(0.00초)mysql> INSERT INTO Marks Values(4, 'Yashraj','English',48);쿼리 OK, 1행 영향(0.00초)mysql> ROLLBACK;Query OK, 0행 영향(0.04초)이 예에서 ROLLBACK 문은 트랜잭션을 명시적으로 종료하고 변경 사항이 롤백됩니다.
<미리>mysql> SELECT * FROM 마크;+---------+------+---------+-------+| 아이디 | 이름 | 주제 | 표시 |+------+---------+---------+------+| 1 | 아라브 | 수학 | 50 || 2 | 가혹한 | 수학 | 55 |+------+---------+---------+----+2행 세트(0.00초)