이 글에서는 주로 mysql 트랜잭션 제출 및 트랜잭션 롤백 관련 지식을 소개합니다.
트랜잭션은 SQL 문의 배치라고 할 수 있지만 이 배치는 원자이며 분할할 수 없으며 모두 실행을 위해 제출되거나 롤백(rollback)이 실행되지 않습니다. 거래의 자세한 정의에 대해서는 이전 기사에서 소개했습니다. 필요한 친구는 먼저 참조할 수 있습니다.
【mysql 데이터 테이블에서 트랜잭션은 무엇을 의미합니까?】
여기서 트랜잭션 커밋 및 트랜잭션 롤백은 무엇을 의미합니까? 그것을 달성하는 방법?
아래에서는 몇 가지 간단한 예를 들어 자세한 설명을 제공합니다.
1. 트랜잭션 제출(커밋)
이 성공적으로 종료되어 모든 DML(삽입, 업데이트, 삭제) 문 작업 내역과 기본 하드 디스크 데이터가 한 번에 동기화됩니다.
예를 들어, 두 개의 데이터가 포함된 Money라는 테이블이 있습니다. ID 1과 ID 2의 금액은 각각 7000과 8000입니다.
그런 다음 "start transaction" 문을 통해 트랜잭션을 시작합니다.
그런 다음 아래 그림과 같이 테이블의 데이터에 대해 일부 업데이트 작업을 수행하면 테이블에서 ID가 1과 2인 사람에 대해 각각 5000의 양이 늘어납니다.
그런 다음 이전 기사 [Mysql 데이터 테이블에서 수동 트랜잭션을 활성화하는 방법]에서 트랜잭션이 활성화된 후 데이터가 업데이트되면 데이터베이스의 실제 데이터는 변경되지 않고 단지 be 트랜잭션 로그에 대한 업데이트를 기록합니다. 데이터를 데이터베이스에 동기적으로 업데이트하려면 트랜잭션 커밋 작업을 수행해야 합니다.
여기서 거래 제출 구문을 마스터해야 합니다.
commit;
거래가 제출된 후 Navicat을 사용하여 데이터 테이블의 데이터가 변경되었는지 확인합니다.
그림과 같이 실제 테이블 데이터는 거래가 제출되고 확인된 후에만 변경될 수 있습니다.
2. 트랜잭션 롤백(rollback)
DML 문 작업 내역 기록을 모두 종료하고 삭제하지 못했습니다.
위 트랜잭션 제출 작업을 수행한 후 머니 테이블의 데이터가 12000과 13000으로 변경되었습니다.
여기서 트랜잭션을 다시 열고 일련의 데이터 업데이트 작업을 수행합니다.
트랜잭션 롤백의 기본 구문:
rollback;
그러면 그림에서 트랜잭션 롤백 작업을 수행할 때 트랜잭션을 연 후 일련의 작업이 지워지는 것을 알 수 있습니다. 트랜잭션이 롤백된 후에도 데이터베이스의 데이터는 여전히 변경되지 않는다고 합니다.
참고: 트랜잭션의 모든 SQL 문이 올바르게 실행되면 커밋을 수동으로 제출해야 합니다. 그렇지 않으면 실행 오류가 있으면 직접 롤백을 제출해야 합니다. 커밋 대신 롤백되어 자동으로 판단하고 롤백합니다.
이 글은 MySQL 데이터 테이블의 수동 트랜잭션 제출 및 트랜잭션 롤백에 대한 관련 지식을 소개한 것으로 이해하기 쉽고 도움이 필요한 친구들에게 도움이 되기를 바랍니다.
mysql에 대해 더 알고 싶다면 PHP 중국어 웹사이트mysql 비디오 튜토리얼을 따라가세요. 누구나 참고하고 배울 수 있습니다!
위 내용은 Mysql 트랜잭션 커밋 및 트랜잭션 롤백은 무엇을 의미합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!