Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Mengelakkan Ralat \'jenis tidak disokong []int\' Semasa Menggunakan 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:
Sediakan pertanyaan dengan menghantar kepingan ke fungsi In():
query, args, err := sqlx.In("SELECT * FROM quote WHERE qid IN (?)", qids)
Ikat semula pertanyaan untuk pangkalan data khusus anda bahagian belakang:
query = database.SQL.Rebind(query)
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!