mysql transaction 예제

격리: ACID 모델의 격리 측면은 주로 InnoDB 트랜잭션, 특히 각 트랜잭션에 적용되는 격리 수준을 포함합니다. 관련 MySQL 기능에는 다음과 같습니다: 참고: LOCK TABLE은 트랜잭션이 안전하지 않으며 테이블을 잠그기 전에 활성 트랜잭션을 자동으로 커밋합니다. 트랜잭션은 하나의 단일 작업 단위인 것처럼 수행되는 데이터베이스 조작 작업의 순차적 그룹입니다. 즉, 그룹 내의 각 개별 작업이 성공하지 않으면 트랜잭션이 완료되지 않습니다. 트랜잭션 내의 작업이 실패하면 전체 트랜잭션이 실패합니다. 트랜잭션을 사용하려면 먼저 SQL 문을 논리적 부분으로 분할하고 데이터를 커밋하거나 롤백해야 하는 시기를 결정해야 합니다. 트랜잭션 내에서 트랜잭션이 안전하지 않은 테이블을 사용하는 경우 자동 커밋 모드의 상태에 관계없이 해당 테이블에 대한 변경 내용이 한 번에 저장됩니다. START 트랜잭션은 트랜잭션 특성을 제어하는 여러 수정자를 허용합니다. 여러 수정자를 지정하려면 쉼표로 구분합니다.

트랜잭션은 첫 번째 실행 SQL 문으로 시작됩니다. 트랜잭션은 COMMIT 또는 ROLLBACK 문으로 명시적으로 또는 DDL(데이터 정의 언어)을 사용하여 테이블 및 인덱스 구조를 관리하고 CREATE, ALTER, NAME, DROP 및 TRUNCATE 문을 만들 때 커밋되거나 롤백될 때 종료됩니다. 몇 가지 데이터 정의 요소) 문이 발행됩니다. 이 후에는 트랜잭션이 시작된 이후에 변경한 내용을 무시하려면 COMMIT를 사용하여 변경 내용을 디스크 또는 ROLLBACK에 저장해야 합니다. 트랜잭션 처리가 구조에 오는 이유입니다. MySQL 트랜잭션을 사용하면 MySQL 작업 집합을 실행하여 데이터베이스에 부분 작업의 결과가 포함되어 지 도록 할 수 있습니다. 작업 집합에서 그 중 하나가 실패하면 데이터베이스를 원래 상태로 복원하기 위해 롤백이 발생합니다. 오류가 발생하지 않으면 전체 명령문 집합이 데이터베이스에 커밋됩니다. MySQL 클라이언트 응용 프로그램(예: JDBC)을 작성하는 데 사용되는 많은 API는 클라이언트에서 START TRANSACTION 문을 보내는 대신 사용할 수 있는 트랜잭션을 시작하기 위한 고유한 메서드를 제공합니다. 자세한 내용은 28장, 커넥터 및 API 또는 API에 대한 설명서를 참조하십시오. MySQL 4.1.8에서 다음과 같은 트랜잭션을 시작할 수 있습니다.

트랜잭션은 커밋되거나 롤백할 수 있는 원자 단위작업입니다. 트랜잭션이 데이터베이스를 여러 번 변경하면 트랜잭션이 커밋될 때 모든 변경 내용이 성공하거나 트랜잭션이 롤백될 때 모든 변경 내용이 실행 취소됩니다. MySQL에서 트랜잭션은 시작 작업 시작 문으로 시작 하 고 COMMIT 또는 롤백 문으로 끝납니다. 시작 문과 끝 문 사이의 SQL 명령은 트랜잭션의 대부분을 형성합니다. 트랜잭션을 직접 사용할 수는 없지만 특정 예외의 경우 사용할 수 있습니다. 그러나, 그들은 안전 하 고 보장 되지 않습니다. MySQL 프로그래밍에서 트랜잭션을 사용하려는 경우 특별한 방법으로 테이블을 만들어야 합니다.

This entry was posted in Uncategorized. Bookmark the permalink.

Comments are closed.