Notice
Recent Posts
Recent Comments
준호씨의 블로그
MySQL과 AUTOCOMMIT 여부 확인 본문
반응형
자~ 이번에도 일단 결론부터 적어 본다
다른건 명령어는 어느정도 추측이 가능했지만 AUTOCOMMIT 여부 확인은 MySQL을 잘 알지 않는 이상 쉽게 추측하긴 좀 힘들법하다. 나도 골뱅이(@)하나까지는 넣어봤지만 원하는 값이 안나와서 인터넷 찾다 보니 골뱅이를 두개 넣어야 된다고 나온걸 발견할 수 있었다.
MySQL에서는 일반적으로 환경변수를 얻어 올때 골뱅이를 두개씩 넣는것 같다.
환경
참고로 일반적으로 기본 DB Engine으로 지정되는 MyISAM 은 TRANSACTION 을 지원하지 않기 때문에
ROLLBACK이니 COMMIT이니 무의미 하다.
TRANSACTION을 지원하지 않으면 무조건 AUTOCOMMIT된다고 보면 된다.
그러므로 TRANSACTION기능을 사용하고자 한다면 TABLE을 생성할때 TRANSACTION을 지원하는 DB엔진을 사용하면 된다.
TRANSACTION기능을 지원하지 않는 DB엔진을 사용하면 AUTOCOMMIT이 FALSE라도 바로바로 적용되니 주의하도록 하자.
SELECT @@AUTOCOMMIT; // AUTOCOMMIT 여부 확인
SET AUTOCOMMIT = TRUE; // AUTOCOMMIT 설정
SET AUTOCOMMIT = FALSE; // AUTOCOMMIT 해제
COMMIT; // 커밋
ROLLBACK; // 롤백
SET AUTOCOMMIT = TRUE; // AUTOCOMMIT 설정
SET AUTOCOMMIT = FALSE; // AUTOCOMMIT 해제
COMMIT; // 커밋
ROLLBACK; // 롤백
다른건 명령어는 어느정도 추측이 가능했지만 AUTOCOMMIT 여부 확인은 MySQL을 잘 알지 않는 이상 쉽게 추측하긴 좀 힘들법하다. 나도 골뱅이(@)하나까지는 넣어봤지만 원하는 값이 안나와서 인터넷 찾다 보니 골뱅이를 두개 넣어야 된다고 나온걸 발견할 수 있었다.
MySQL에서는 일반적으로 환경변수를 얻어 올때 골뱅이를 두개씩 넣는것 같다.
환경
MySQL : 5.0.27
DB Engine : InnoDB
OS : Windows XP
DB Engine : InnoDB
OS : Windows XP
참고로 일반적으로 기본 DB Engine으로 지정되는 MyISAM 은 TRANSACTION 을 지원하지 않기 때문에
ROLLBACK이니 COMMIT이니 무의미 하다.
TRANSACTION을 지원하지 않으면 무조건 AUTOCOMMIT된다고 보면 된다.
그러므로 TRANSACTION기능을 사용하고자 한다면 TABLE을 생성할때 TRANSACTION을 지원하는 DB엔진을 사용하면 된다.
TRANSACTION기능을 지원하지 않는 DB엔진을 사용하면 AUTOCOMMIT이 FALSE라도 바로바로 적용되니 주의하도록 하자.
반응형
'개발이야기' 카테고리의 다른 글
opmnctl restartproc process-type=??? (0) | 2008.06.10 |
---|---|
IEDevToolBar - Internet Explorer에서 웹개발시 유용한 툴바 (0) | 2008.02.27 |
Subversion 서버 IP 변경되었을 때 TortoiseSVN와 Eclipse 설정 바꾸기 Relocate (12) | 2008.02.21 |
addEvent로 addEventListener, attachEvent 브라우저 호환성 개선 (4) | 2008.02.19 |
Java에서 현재 함수명 구하기 (0) | 2007.12.03 |
Comments