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)
InnoDB의 트랜잭션의 경우 SET AUTOCOMMIT = 0을 사용하지 말고 대신 COMMIT 명령을 사용하여 커밋하세요.
두 SQL 모드 모두 다음과 같이 START TRANSACTION 명령을 사용하여 트랜잭션이 시작됩니다. -
mysql> START TRANSACTION; Query OK, 0 rows affected (0.00 sec)
실제로 위 쿼리는 트랜잭션이 끝날 때까지 다음 명령문을 단일 작업 단위로 처리해야 함을 MySQL에 알립니다. .
위 내용은 사용자는 어떻게 새로운 MySQL 트랜잭션을 시작합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!