Golangプロジェクトに未定義の引数を持つIN演算子を使用してMySQLクエリを使用しようとしています。MySQL INオペレータを使用して未定義のargsをクエリする
私はパッケージgithub.com/go-sql-driver/mysql
を使用して、このstackoverflowの答えに私のソリューションを構築しようとしています:How to execute an IN lookup in SQL using Golang?
私は私の進むべき道についてのいくつかのアドバイスを与えるいくつかの類似した記事を読んだが、私は上のこだわっそれは引数としてスライスを直接使用することができないため、クエリの実行部分です。
クエリ:SELECT ID、名前のid INは 「SQL(TYPE_ID(IN)resources_types FROM RESOURCE_ID を選択?)資源からGolangは私に、実行時エラーを返します
//converting my form args []string into []int var args []int for _, v := range r.Form["type"] { t, _ := strconv.Atoi(v) args = append(args, t) } sql := "SELECT id, name FROM resources WHERE id IN (SELECT resource_id FROM resources_types WHERE type_id IN (?" + strings.Repeat(",?", len(args)-1) + "))" fmt.Println("Query : ", sql) stmt, _ := db.Prepare(sql) rows, err := stmt.Query(args) defer stmt.Close()
:;私は
にしようとすると、1"rows, err := stmt.Query(args[0], args[1])
を得たことは、作品のステートメントは、2つの入力を期待します
しかし、定義されていない数の引数が必要なので、解決策ではありません。少なくともMySQLで動作させることは可能ですか?
この明白な答えをありがとう!すでに動作していますが、プレビルドのクエリをチェックします。 –