Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

사용자는 어떻게 새로운 MySQL 트랜잭션을 시작할 수 있습니까?


START TRANSACTION 명령을 실행하여 사용자는 새 MySQL 트랜잭션을 시작할 수 있습니다. 트랜잭션의 동작은 SQL AUTOCOMMIT 모드에 따라 달라집니다. 기본 모드는 'AUTOCOMMIT ON' 모드로 각 MySQL 문이 완전한 트랜잭션으로 간주되고 완료되면 기본적으로 커밋됩니다. 다음과 같이 세션 변수 AUTOCOMMIT를 1로 설정하여 시작할 수 있습니다. -

SET AUTOCOMMIT = 1

mysql> SET AUTOCOMMIT = 1;
Query OK, 0 rows affected (0.07 sec)

사용자가 이러한 종류의 MySQL 트랜잭션 동작을 변경하려면 'AUTOCOMMIT OFF' SQL 모드를 설정할 수 있습니다. 이 모드에서는 후속 MySQL 문이 트랜잭션처럼 작동하고 명시적 COMMIT 문이 발행될 때까지 활동이 커밋되지 않습니다. 이 모드에서 새 세션의 첫 번째 실행 가능한 문은 암시적으로 새 다중 문 트랜잭션을 시작합니다. 다음과 같이 세션 변수 AUTOCOMMIT를 0으로 설정하여 시작할 수 있습니다. -

SET AUTOCOMMIT = 0

mysql> SET AUTOCOMMIT = 0;
Query OK, 0 rows affected (0.00 sec)

SET AUTOCOMMIT =0을 사용하는 대신 InnoDB에서 트랜잭션의 경우 COMMIT로 커밋 명령.

두 SQL 모드에서 트랜잭션은 다음과 같이 START TRANSACTION 명령으로 시작됩니다. -

mysql> START TRANSACTION;
Query OK, 0 rows affected (0.00 sec)

실제로 위의 쿼리는 트랜잭션이 종료될 때까지 이어지는 명령문을 단일 작업 단위로 처리해야 한다고 MySQL에 알립니다.