Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Saya Boleh Menggunakan pq.Array untuk Melepasi Slices Integer sebagai Argumen dalam Pertanyaan SQL?
Menggabungkan Slice Arguments ke dalam SQL Query dengan pq.Array
Apabila cuba melaksanakan pertanyaan SQL yang termasuk sepotong integer sebagai argumen, pengguna mungkin menghadapi ralat: "sql: converting argument $1 type: unsupported type []int, a slice daripada int." Untuk mengatasi masalah ini, fungsi pq.Array boleh digunakan.
Masalah:
Pertimbangkan kod berikut:
somevars := []int{1, 2, 3, 4} rows, err := db.Query("SELECT c1,c2 FROM table"+tid+" WHERE c1 IN(,,,);", somevars)
Melaksanakan ini pertanyaan menghasilkan ralat: "sql: converting argument $1 type: unsupported type []int, a slice of int."
Penyelesaian:
Untuk menangani masalah ini, pq.Array boleh digunakan untuk merangkum kepingan integer ke dalam satu hujah:
somevars := []int{1, 2, 3, 4} rows, err = db.Query("SELECT c1,c2 FROM table"+tid+" WHERE c1 = any();", pq.Array(somevars))
Fungsi pq.Array menukar kepingan integer menjadi perwakilan tatasusunan, membolehkannya dikendalikan dengan betul oleh pertanyaan SQL. Dengan menggunakan pq.Array, hujah keratan boleh digabungkan dengan mudah ke dalam pertanyaan SQL, menyelesaikan mesej ralat.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan pq.Array untuk Melepasi Slices Integer sebagai Argumen dalam Pertanyaan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!