>  기사  >  일일 프로그램  >  Mysql 트랜잭션 커밋 및 트랜잭션 롤백은 무엇을 의미합니까?

Mysql 트랜잭션 커밋 및 트랜잭션 롤백은 무엇을 의미합니까?

藏色散人
藏色散人원래의
2018-10-29 16:53:3621921검색

이 글에서는 주로 mysql 트랜잭션 제출 및 트랜잭션 롤백 관련 지식을 소개합니다.

트랜잭션은 SQL 문의 배치라고 할 수 있지만 이 배치는 원자이며 분할할 수 없으며 모두 실행을 위해 제출되거나 롤백(rollback)이 실행되지 않습니다. 거래의 자세한 정의에 대해서는 이전 기사에서 소개했습니다. 필요한 친구는 먼저 참조할 수 있습니다.

mysql 데이터 테이블에서 트랜잭션은 무엇을 의미합니까?

Mysql 데이터 테이블에서 트랜잭션을 여는 방법

여기서 트랜잭션 커밋 및 트랜잭션 롤백은 무엇을 의미합니까? 그것을 달성하는 방법?

아래에서는 몇 가지 간단한 예를 들어 자세한 설명을 제공합니다.

1. 트랜잭션 제출(커밋)

이 성공적으로 종료되어 모든 DML(삽입, 업데이트, 삭제) 문 작업 내역과 기본 하드 디스크 데이터가 한 번에 동기화됩니다.

예를 들어, 두 개의 데이터가 포함된 Money라는 테이블이 있습니다. ID 1과 ID 2의 금액은 각각 7000과 8000입니다.

Mysql 트랜잭션 커밋 및 트랜잭션 롤백은 무엇을 의미합니까?

그런 다음 "start transaction" 문을 통해 트랜잭션을 시작합니다.

Mysql 트랜잭션 커밋 및 트랜잭션 롤백은 무엇을 의미합니까?

그런 다음 아래 그림과 같이 테이블의 데이터에 대해 일부 업데이트 작업을 수행하면 테이블에서 ID가 1과 2인 사람에 대해 각각 5000의 양이 늘어납니다.

Mysql 트랜잭션 커밋 및 트랜잭션 롤백은 무엇을 의미합니까?

그런 다음 이전 기사 [Mysql 데이터 테이블에서 수동 트랜잭션을 활성화하는 방법]에서 트랜잭션이 활성화된 후 데이터가 업데이트되면 데이터베이스의 실제 데이터는 변경되지 않고 단지 be 트랜잭션 로그에 대한 업데이트를 기록합니다. 데이터를 데이터베이스에 동기적으로 업데이트하려면 트랜잭션 커밋 작업을 수행해야 합니다.

여기서 거래 제출 구문을 마스터해야 합니다.

commit;

Mysql 트랜잭션 커밋 및 트랜잭션 롤백은 무엇을 의미합니까?

거래가 제출된 후 Navicat을 사용하여 데이터 테이블의 데이터가 변경되었는지 확인합니다.

Mysql 트랜잭션 커밋 및 트랜잭션 롤백은 무엇을 의미합니까?

그림과 같이 실제 테이블 데이터는 거래가 제출되고 확인된 후에만 변경될 수 있습니다.

2. 트랜잭션 롤백(rollback)

DML 문 작업 내역 기록을 모두 종료하고 삭제하지 못했습니다.

위 트랜잭션 제출 작업을 수행한 후 머니 테이블의 데이터가 12000과 13000으로 변경되었습니다.

여기서 트랜잭션을 다시 열고 일련의 데이터 업데이트 작업을 수행합니다.

Mysql 트랜잭션 커밋 및 트랜잭션 롤백은 무엇을 의미합니까?

트랜잭션 롤백의 기본 구문:

rollback;

Mysql 트랜잭션 커밋 및 트랜잭션 롤백은 무엇을 의미합니까?

그러면 그림에서 트랜잭션 롤백 작업을 수행할 때 트랜잭션을 연 후 일련의 작업이 지워지는 것을 알 수 있습니다. 트랜잭션이 롤백된 후에도 데이터베이스의 데이터는 여전히 변경되지 않는다고 합니다.

참고: 트랜잭션의 모든 SQL 문이 올바르게 실행되면 커밋을 수동으로 제출해야 합니다. 그렇지 않으면 실행 오류가 있으면 직접 롤백을 제출해야 합니다. 커밋 대신 롤백되어 자동으로 판단하고 롤백합니다.

이 글은 MySQL 데이터 테이블의 수동 트랜잭션 제출 및 트랜잭션 롤백에 대한 관련 지식을 소개한 것으로 이해하기 쉽고 도움이 필요한 친구들에게 도움이 되기를 바랍니다.

mysql에 대해 더 알고 싶다면 PHP 중국어 웹사이트mysql 비디오 튜토리얼을 따라가세요. 누구나 참고하고 배울 수 있습니다!

위 내용은 Mysql 트랜잭션 커밋 및 트랜잭션 롤백은 무엇을 의미합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.