• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

트랜잭션 질문

22.08.19 09:33 작성 조회수 154

0

 

안녕하세요 영원한 스승 제로초님 mysql 트랜잭션 사용 중에 궁금한 점이 있어 질문드립니다. 위 코드는 유저 테이블과 유저의 상세 정보 테이블 2개의 인서트 쿼리가 이루어집니다. mysql.createPool에 있는 query를 꺼내서 트랜잭션 하면 작동하지만 인서트 쿼리를 따로 분리해 함수로 사용하면 트랜잭션이 먹질 않습니다. 오래 고민해 본 결과 트랜잭션이 이루어지는 동안 쿼리가 아닌 함수가 실행돼서 그런 거 같습니다. 다중 쿼리를 생각해 봤지만 유저 테이블에 결과값이 유저 상세 테이블에 들어가야 해서 소용없는 거 같습니다. 방법이 있을 거 같은데 쉽게 떠오르지 않아 질문  드립니다ㅜㅜ

답변 1

답변을 작성해보세요.

1

db.query를 쓰지 마시고요. db.getConnection으로 얻은 커넥션 객체를 공유해서 쿼리를 날려야합니다. 매번 db.query를 하면 db가 그 쿼리가 하나의묶음인지 알수가 없습니다.

즐주되십쇼!