> 백엔드 개발 > Golang > SQLx의 `In()` 함수를 사용하여 ID 조각으로 MySQL을 쿼리하는 방법은 무엇입니까?

SQLx의 `In()` 함수를 사용하여 ID 조각으로 MySQL을 쿼리하는 방법은 무엇입니까?

Susan Sarandon
풀어 주다: 2024-11-28 09:54:10
원래의
715명이 탐색했습니다.

How to Use SQLx's `In()` Function to Query MySQL with a Slice of IDs?

SQLx를 사용하여 슬라이스의 IN으로 MySQL 쿼리

SQLx에서는 슬라이스에 값이 저장된 테이블을 쿼리해야 할 필요성이 발생합니다. 이는 In() 도우미 기능을 활용하여 달성할 수 있습니다.

코드 예

주어진 오류를 해결하기 위해 다음 코드 조각을 사용할 수 있습니다.

var qids []int

// Populate qids dynamically

query, args, err := sqlx.In("SELECT * FROM quote WHERE qid IN (?)", qids)
if err != nil {
    log.Fatal(err)
}

database.SQL := sqlx.MustConnect("driver_name", "dsn")
query = database.SQL.Rebind(query)  // Assuming database.SQL is a *sqlx.DB

err = database.SQL.Select(&quotes, query, args...)
if err != nil {
    log.Fatal(err)
}
로그인 후 복사

기능

  • In() 함수는 인수를 가져와서 다시 바인딩하여 쿼리를 준비합니다.
  • Rebind()는 특정 데이터베이스 백엔드에 적합한 바인드 변수를 사용하도록 쿼리를 변환합니다.
  • In()과 Rebind()를 결합하면 쿼리가 실행을 위해 준비되고 최적화됩니다. .

추가 리소스

자세한 내용은 다음 문서를 참조하세요. 권장 사항:

  • SQLx 문서: http://jmoiron.github.io/sqlx/
  • In() 함수 문서: https://godoc.org/github.com/ jmoiron/sqlx#In
  • Rebind() 함수 문서: https://godoc.org/github.com/jmoiron/sqlx#Rebind

위 내용은 SQLx의 `In()` 함수를 사용하여 ID 조각으로 MySQL을 쿼리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿