현재 MySQL 트랜잭션은 CREATE 또는 DROP 데이터베이스, Create, ALTER 또는 DROP 테이블 또는 저장 루틴과 같은 DDL 문이 현재 실행되는 중간에 실행될 때 커밋되고 종료됩니다. 거래. 현재 트랜잭션에서 수행된 모든 데이터베이스 변경 사항은 영구적으로 만들어지며 롤백할 수 없습니다.
예시
mysql> START TRANSACTION;쿼리 OK, 영향을 받는 행 0개(0.00초)mysql> INSERT INTO MARKS Values(6,'Manak','History',70);쿼리 OK, 영향을 받는 행 1개(0.26초)mysql> 테이블 생성 학생(id int, Name Varchar(10),);쿼리 OK, 영향을 받는 행 0개(0.84초)
위의 예에서 볼 수 있듯이 DDL 문이 트랜잭션 중간에 실행되었으므로 이 트랜잭션은 암시적으로 종료됩니다. MySQL은 모든 변경 사항을 저장하며 롤백할 수 없습니다. 다음 결과 세트의 도움으로 이를 관찰할 수 있습니다 -
mysql> 롤백, 쿼리 확인, 영향을 받는 행 0개(0.00초) mysql> 표시에서 * 선택;+------+---------+-------- ---+----+| 아이디 | 이름 | 주제 | 표시 |+------+---------+----------+----+| 1 | 아라브 | 수학 | 50 || 1 | 가혹한 | 수학 | 55 || 3 | 가우라프 | 비교 | 69 || 4 | 라훌 | 역사 | 40 || 5 | 야슈라즈 | 영어 | 48 || 6 | 마낙 | 역사 | 70 |+------+---------+---------+---------+6행 세트(0.00초)사전>