전공/실무

Mysql 트랜젝션 나누는 방법

하루는노력 2011. 1. 27. 19:47
728x90
반응형
먼저 apm_setup을 사용하고 있다면 확인 해야 할게 있다. 
각종 설정 파일 위치 확인
1. php.ini 이라는 파일은 "C:\APM_Setup" 에 있는게 정상이다.
2. my.ini 이라는 파일은 "C:\APM_Setup\Server\MySQL5"에 있는게 정상이다.
3. httpd.conf 라는 파일은 "C:\APM_Setup\Server\Apache\conf"에 있는게 정상이다.

innoDB를 사용해서 트랜젝션을 나눌어 사용 할 수 있다.
그런데 문제는 디비를 생성할때
ENGINE=innoDB로 설정을 해놔도 적용이 안되는게 문제다.

해경 방법은 간단한다.
my.ini 파일에서
skip-innoDB를
#skip-innoDB
주석 처리를 해 주면  되는 것이다.

이제 간단한 소스 설명을 해주면,
mysql_query("SET AUTOCOMMIT = 0");
mysql_query("BEGIN");
mysql_query("ROLLBACK");
mysql_query("COMMIT");
이렇게 만 기억 하면 된다.
자동으로 commit 되는 걸 방지하고
BEGIN으로 시작 하면 된다.

그 후 mysql_query();처리를 한 후
그 결과가 정상이면
mysql_query("COMMIT");을 해주고
오류 이면
mysql_query("ROLLBACK")을 해주면 된다.


mysql_query("SET AUTOCOMMIT = 0");
mysql_query("BEGIN");
mysql_query(query문);//쿼리를 한다.

if(쿼리중 에러가 나면){
mysql_query("ROLLBACK");//롤백을 한다.
}else{
mysql_query("COMMIT");//그렇지 않으면 COMMIT 처리를 한다.
}

반응형
LIST