>  기사  >  백엔드 개발  >  트랜잭션과 다람쥐를 사용한 Golang postgresql 쿼리

트랜잭션과 다람쥐를 사용한 Golang postgresql 쿼리

WBOY
WBOY앞으로
2024-02-06 09:54:08991검색

使用事务和 squirrel 进行 Golang postgresql 查询

질문 내용

다람쥐와 거래를 별도로 사용하는 방법은 이해하지만, 함께 사용하는 방법은 이해가 되지 않습니다. 언제 롤백하거나 커밋해야 합니까? 내 시도가 맞나요? 그렇지 않다면 내가 어디서 잘못됐나...

으아아아

제가 이해한 바로는 postgresql에서 쿼리를 실행한 후 롤백이나 커밋을 하려고 합니다.


정답


노력이 대단합니다. 하지만 ....runwith(db.repo.getdatabase()) 在这种情况下是不正确的。因为您应该传递事务连接 tx . 쿼리에 대한 데이터베이스 연결로 트랜잭션 개체를 사용하도록 다람쥐에게 지시합니다.

트랜잭션 연결 대신 데이터베이스 연결을 사용하는 경우 다람쥐 쿼리는 트랜잭션에 포함되지 않습니다. 각 쿼리는 개별적으로 실행되고 즉시 데이터베이스에 제출됩니다.

또한 함수가 종료되기 전에 거래가 적절하게 처리되고 완료되었는지 확인하는 defer 语句更新 rollbackcommit 문을 사용할 수도 있습니다.

업데이트된 코드입니다..

으아아아

도움이 되기를 바랍니다.

참조

위 내용은 트랜잭션과 다람쥐를 사용한 Golang postgresql 쿼리의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제