Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Menyoal MySQL dengan Sekeping ID Menggunakan SQLx?

Bagaimana untuk Menyoal MySQL dengan Sekeping ID Menggunakan SQLx?

DDD
Lepaskan: 2024-12-05 12:34:10
asal
945 orang telah melayarinya

How to Query MySQL with a Slice of IDs Using SQLx?

Menggunakan SQLx untuk Menyoal MySQL untuk Nilai dalam Slice

Apabila menanyakan jadual MySQL untuk nilai yang terkandung dalam kepingan, pengguna mungkin menghadapi ralat yang serupa dengan:

sql: converting Exec argument #0's type: unsupported type []int, a slice
Salin selepas log masuk

Isu ini timbul kerana SQLx sememangnya tidak menyokong pertanyaan dengan kepingan sebagai hujah. Walau bagaimanapun, ia menyediakan penyelesaian melalui fungsi In()nya.

Penyelesaian dengan In()

Untuk menyelesaikan ralat ini, langkah berikut boleh diambil:

  1. Sediakan pertanyaan menggunakan In() untuk memasukkan kepingan sebagai an hujah:

    query, args, err := sqlx.In("SELECT * FROM quote WHERE qid IN (?)", qids)
    if err != nil {
     log.Fatal(err)
    }
    Salin selepas log masuk
  2. Ikat semula pertanyaan untuk menjadikannya serasi dengan bahagian belakang pangkalan data:

    query = database.SQL.Rebind(query)
    Salin selepas log masuk
  3. Laksanakan pertanyaan menggunakan Select( ):

    err = database.SQL.Select(&quotes, query, args...)
    Salin selepas log masuk

Gabungan dalam Satu Baris

Keseluruhan proses boleh dipermudahkan menjadi satu baris:

err = database.SQL.Select(&quotes, database.SQL.Rebind(query), args...)
Salin selepas log masuk

Sumber

Untuk contoh dan dokumentasi tambahan, sila rujuk laman web rasmi SQLx: http: //jmoiron.github.io/sqlx/

Atas ialah kandungan terperinci Bagaimana untuk Menyoal MySQL dengan Sekeping ID Menggunakan SQLx?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan