더북(TheBook)

10.4.2 자동커밋 속성

지금까지 INSERT, UPDATE, DELETE 문으로 여러 테이블의 데이터를 조작했지만, 한 번도 COMMIT 문을 사용한 적이 없었습니다. 그런데도 테이블에서 데이터가 정상적으로 입력, 수정, 삭제됐습니다. COMMIT 문을 명시적으로 실행하지 않았는데 어떻게 정상적으로 처리됐을까요?

MySQL은 내부적으로 수많은 옵션 값이 있고, 이 값을 조정해 MySQL의 작동을 제어할 수 있습니다. 아직까지 이 책에서는 이런 옵션 값을 소개한 적이 없습니다. MySQL을 설치하면 이런 수많은 옵션이 모두 기본값으로 자동 설정됩니다. 이 중에서 autocommit이라는 옵션이 있는데, 이는 자동커밋을 조정하는 값입니다.

자동커밋이란 COMMIT 문을 명시적으로 실행하지 않아도 입력, 수정, 삭제된 데이터가 테이블에 반영되는 것입니다. 따라서 지금까지 INSERT, UPDATE, DELETE 문을 실행했을 때 테이블에 데이터가 정상적으로 반영된 것은 자동커밋 모드가 활성화되어 있기 때문입니다. 자동커밋은 autocommit 옵션이 기본값 1로 설정되면 활성화됩니다. 만약 자동커밋 모드를 비활성화하면, 즉 autocommit 값을 0으로 설정하면 명시적으로 COMMIT 문을 실행해야 테이블에 데이터가 반영됩니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.