Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Mengelakkan Ralat \'jenis tidak disokong []int\' Semasa Menggunakan SQLx dalam Go?

Bagaimana untuk Mengelakkan Ralat \'jenis tidak disokong []int\' Semasa Menggunakan SQLx dalam Go?

Barbara Streisand
Barbara Streisandasal
2024-12-06 06:58:14754semak imbas

How to Avoid

Cara Melaksanakan Pertanyaan SQL Menggunakan Perpustakaan SQLx dalam Go

Apabila bekerja dengan pertanyaan SQL dalam kepingan, anda mungkin menghadapi ralat seperti "menukar argumen Exec #0's jenis: jenis tidak disokong []int, sepotong." Untuk menangani perkara ini, anda boleh menggunakan fungsi pembantu In() yang disediakan oleh perpustakaan sqlx.

Sintaks untuk In() adalah seperti berikut:

query, args, err := sqlx.In(query, args)

di mana pertanyaan ialah pertanyaan asal string dan args ialah kepingan nilai yang akan diinterpolasi ke dalam pertanyaan.

Untuk menggunakan In(), ikut ini langkah:

  1. Sediakan pertanyaan dengan menghantar kepingan ke fungsi In():

    query, args, err := sqlx.In("SELECT * FROM quote WHERE qid IN (?)", qids)
  2. Ikat semula pertanyaan untuk pangkalan data khusus anda bahagian belakang:

    query = database.SQL.Rebind(query)
  3. Laksanakan pertanyaan:

    err = database.SQL.Select(&quotes, query, args...)

Sebagai alternatif, anda boleh menggabungkan langkah penyediaan dan pelaksanaan ke dalam satu baris:

err = database.SQL.Select(&quotes, database.SQL.Rebind(query), args...)

Untuk contoh dan dokumentasi tambahan, rujuk sqlx dokumentasi perpustakaan di http://jmoiron.github.io/sqlx/.

Atas ialah kandungan terperinci Bagaimana untuk Mengelakkan Ralat \'jenis tidak disokong []int\' Semasa Menggunakan SQLx dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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