여기서 전체 트랜잭션이 컨텍스트를 "듣고" 있는지 궁금합니다. 컨텍스트를 사용하여 트랜잭션을 시작합니까?
으아악아니면 각 쿼리에 컨텍스트를 명시적으로 적용합니까?
tx, _ := db.BeginTx(ctx, &sql.TxOptions{Isolation: sql.LevelSerializable}) stmt, _ := tx.Prepare("SELECT id, timeout, lang FROM client WHERE id=?")
아니요. Prepare
및 기타 컨텍스트 프리 메서드에서는 context.Background를 사용하세요.
From Tx.Prepare document...
소스 코드를 확인해 보세요. 단순한 래퍼일 뿐입니다.
으아악Tx는 db.BeginTx
의 컨텍스트를 저장하지만 이는 거래에만 사용됩니다. 공유 컨텍스트는 혼란스럽고 제한적이므로 쿼리에는 사용되지 않습니다.
위 내용은 전체 SQL 트랜잭션에서 기본적으로 컨텍스트가 사용됩니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!