Ask Your Question
0

직접 mysql 사용시 mysql 트랜젝션 문의

asked 2017-08-24 17:54:56 +0900

steve gravatar image

updated 2017-08-24 18:02:51 +0900

안녕하세요.

직접 mysql 사용 할 때 mysql 트랜젝션 을 어떻게 해야 되나요?

connections->ExecuteQuerySync("START TRANSACTION", &error);
connections->ExecuteQuerySync("insert ... ", &error);
connections->ExecuteQuerySync("update ... ", &error);
connections->ExecuteQuerySync("COMMIT", &error);
//connections->ExecuteQuerySync("rollback", &error);

18.3. MySQL connector 사용 예제 에 트랜젝션 부분도 있으면 좋겠습니다.

edit retag flag offensive close merge delete

1 answer

Sort by » oldest newest most voted
0

answered 2017-08-24 18:33:04 +0900

Minwoo Seok gravatar image

안녕하세요. 아이펀팩토리입니다.

아이펀 엔진에서 제공하는 Mariadb 는 연결풀을 이용하기 때문에

작성하신 예제처럼 사용하시면 그 다음 쿼리를 실행할 때 다른 연결을 사용할 수 있어 트랜잭션 처리가 실패할 수 있습니다.

이 경우에는 Mysql Stored Procedure 를 만들고 해당 프로시저에서 처리하시거나

boost::format 또는 std::stringstream 등을 이용하셔서 하나의 쿼리 스트링으로 만들어 쿼리를 실행하시면 될 것 같습니다.

감사합니다.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 2017-08-24 17:54:56 +0900

Seen: 562 times

Last updated: Aug 24 '17