Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Menyoal MySQL dengan Sekeping ID Menggunakan SQLx?
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
Isu ini timbul kerana SQLx sememangnya tidak menyokong pertanyaan dengan kepingan sebagai hujah. Walau bagaimanapun, ia menyediakan penyelesaian melalui fungsi In()nya.
Untuk menyelesaikan ralat ini, langkah berikut boleh diambil:
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) }
Ikat semula pertanyaan untuk menjadikannya serasi dengan bahagian belakang pangkalan data:
query = database.SQL.Rebind(query)
Laksanakan pertanyaan menggunakan Select( ):
err = database.SQL.Select(&quotes, query, args...)
Keseluruhan proses boleh dipermudahkan menjadi satu baris:
err = database.SQL.Select(&quotes, database.SQL.Rebind(query), args...)
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!