Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Menggunakan Fungsi `In()` SQLx untuk Menyoal MySQL dengan Sekeping ID?

Bagaimana untuk Menggunakan Fungsi `In()` SQLx untuk Menyoal MySQL dengan Sekeping ID?

Susan Sarandon
Lepaskan: 2024-11-28 09:54:10
asal
762 orang telah melayarinya

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

Menggunakan SQLx untuk Menyoal MySQL dengan IN daripada Slice

Dalam SQLx, timbul keperluan untuk menanyakan jadual dengan nilai yang disimpan dalam kepingan. Ini boleh dicapai dengan menggunakan fungsi pembantu In().

Contoh Kod

Untuk menangani ralat yang diberikan, coretan kod berikut boleh digunakan:

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)
}
Salin selepas log masuk

Fungsi

  • Fungsi In() menyediakan pertanyaan dengan mengambil hujah dan mengikat semula mereka.
  • Rebind() menukarkan pertanyaan untuk menggunakan pembolehubah ikatan yang sesuai untuk bahagian belakang pangkalan data tertentu.
  • Dengan menggabungkan In() dan Rebind(), pertanyaan itu disediakan dan dioptimumkan untuk pelaksanaan .

Sumber Tambahan

Untuk rujukan lanjut, perkara berikut dokumentasi disyorkan:

  • Dokumentasi SQLx: http://jmoiron.github.io/sqlx/
  • Dokumentasi fungsi In(): https://godoc.org/github. com/jmoiron/sqlx#In
  • Dokumentasi fungsi Rebind(): https://godoc.org/github.com/jmoiron/sqlx#Rebind

Atas ialah kandungan terperinci Bagaimana untuk Menggunakan Fungsi `In()` SQLx untuk Menyoal MySQL dengan Sekeping ID?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan