Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

사용자가 현재 MySQL 트랜잭션을 어떻게 명시적으로 종료할 수 있습니까?


다음은 현재 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초)