Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL에서 현재 트랜잭션 모드(AUTOCOMMIT) 확인하는 방법

MySQL에서 현재 트랜잭션 모드, 즉 AUTOCOMMIT 설정 상태를 확인하려면 SELECT @@AUTOCOMMIT 명령어를 사용하면 됩니다.

AUTOCOMMIT이란?

AUTOCOMMIT은 MySQL의 시스템 변수로, 각 SQL 문장이 실행될 때마다 자동으로 트랜잭션이 커밋(Commit)될지 여부를 결정합니다.

  • 값이 1인 경우: 자동 커밋 모드가 활성화되어 있으며, 각 문장이 실행되는 즉시 영구적으로 저장됩니다. 이것이 MySQL의 기본 설정입니다.
  • 값이 0인 경우: 자동 커밋이 비활성화되며, 변경 사항은 COMMIT을 실행해야 반영되고 ROLLBACK으로 되돌릴 수 있습니다.

현재 트랜잭션 모드 확인하기

다음과 같이 @@AUTOCOMMIT 변수를 조회하면 현재 세션의 트랜잭션 모드를 알 수 있습니다.

mysql> Select @@AUTOCOMMIT;
+--------------------+
| @@AUTOCOMMIT       |
+--------------------+
|                  1 |
+--------------------+
1 row in set (0.05 sec)

위 결과에서 값이 1로 표시되므로, 현재 자동 커밋 모드가 활성화되어 있다는 것을 알 수 있습니다.

AUTOCOMMIT 모드 변경하기

SET AUTOCOMMIT 구문을 사용하면 자동 커밋 모드를 전환할 수 있습니다. 아래 예제는 자동 커밋을 비활성화한 후 다시 조회하는 과정을 보여줍니다.

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

mysql> Select @@AUTOCOMMIT;
+--------------------+
| @@AUTOCOMMIT       |
+--------------------+
|                  0 |
+--------------------+
1 row in set (0.00 sec)

이제 값이 0으로 변경된 것을 확인할 수 있습니다. 이 상태에서는 데이터 변경 작업 후 반드시 COMMIT을 실행해야 변경 사항이 저장됩니다.

참고 사항

SET AUTOCOMMIT = 0은 현재 세션에만 적용되며, 새로운 연결이 시작되면 서버의 기본 설정값(일반적으로 1)으로 다시 돌아갑니다. 모든 세션에 대해 기본값을 변경하려면 MySQL 설정 파일(my.cnf)에서 autocommit=0 옵션을 지정하거나, SET GLOBAL autocommit = 0;을 사용할 수 있습니다.