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

현재 트랜잭션에서 변경된 사항을 MySQL 데이터베이스에서 어떻게 영구적으로 제거할 수 있습니까?

<시간/>

ROLLBACK 명령을 사용하여 현재 트랜잭션에서 수행된 변경 사항을 MySQL 데이터베이스에서 영구적으로 제거할 수 있습니다. 일부 DML 문을 실행하고 일부 데이터 개체를 업데이트하는 경우 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초)