>데이터 베이스 >MySQL 튜토리얼 >MySQL 트랜잭션 관리에 대한 간략한 논의(기본)

MySQL 트랜잭션 관리에 대한 간략한 논의(기본)

青灯夜游
青灯夜游앞으로
2019-02-26 10:53:032559검색

이 기사의 내용은 MySQL 트랜잭션 관리(기본)에 대한 간략한 설명입니다. 필요한 친구가 참고할 수 있기를 바랍니다.

트랜잭션 처리는 데이터베이스 등의 무결성을 유지하여 mysql 작업의 성공 또는 실패를 보장하는 데 사용됩니다(myisam은 트랜잭션을 지원하지 않음)

1. 키워드

  1. 트랜잭션(트랜잭션)

  2. 롤백(롤백)은 지정된 SQL 문을 실행 취소하는 프로세스를 의미합니다.

  3. 커밋(커밋)은 저장되지 않은 SQL 문 결과를 데이터베이스 테이블에 기록하는 것을 의미합니다.

  4. 세이브포인트(savepoint)는 트랜잭션 처리를 의미합니다. (전체 트랜잭션을 롤백하는 것과는 반대로) 롤백을 실행할 수 있도록 설정된 임시 자리 표시자(place-holder)입니다.

2. Rollback

select * from orderitems;
START TRANSACTION;
DELETE FROM orderitems;
select * from orderitems;
ROLLBACK;
select * from orderitems;

을 사용합니다. 두 번째 삭제가 실패했다고 가정하고 트랜잭션 블록의 문을 롤백하고 실행 취소합니다. 예약된 포인트 복잡한 트랜잭션 처리에는 부분 커밋 또는 롤백이 필요할 수 있습니다.

트랜잭션의 일부 롤백을 지원하려면 자리 표시자를 트랜잭션 블록의 적절한 위치에 배치해야 합니다. 이렇게 하면 롤백해야 하는 경우 자리 표시자로 돌아갈 수 있습니다.

이러한 자리 표시자를 보존 지점이라고 합니다. 자리 표시자를 만들려면 다음과 같이 SAVEPOINT를 사용할 수 있습니다.

보존 지점 만들기

START TRANSACTION;
DELETE FROM orderitems where order_num = 20010;
DELETE FROM orders WHERE order_num = 20010;
COMMIT



보존 지점으로 돌아가기

SAVEPOINT delete1
팁:

보존 지점이 많을수록 좋습니다. , 편리하고 유연한 사용, 하지만 그냥 오실 필요는 없습니다! 모든 작업은 적당히 수행됩니다. 보존 포인트 해제

1. 트랜잭션이 완료된 후 보존 포인트가 자동으로 해제됩니다(ROLLBACK 또는 COMMIT 실행). 보존 포인트를 명시적으로 해제

5. 기본적으로 커밋 동작

mysql은 모든 변경 사항을 자동으로 커밋합니다.

2、release savepoint delete1

변경사항을 자동으로 커밋하지 마세요

ROLLBACK TO delete1
위 내용은 이 글의 전체 내용입니다. 모든 분들의 학습에 도움이 되기를 바랍니다. 더 흥미로운 내용을 보려면 PHP 중국어 웹사이트의 관련 튜토리얼 열을 주의 깊게 살펴보세요! ! !

위 내용은 MySQL 트랜잭션 관리에 대한 간략한 논의(기본)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 https://segmentfault.com/a/1190000018282782에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제