ホームページ > バックエンド開発 > Golang > 値のスライスを使用して sqlx で MySQL にクエリを実行する方法

値のスライスを使用して sqlx で MySQL にクエリを実行する方法

Barbara Streisand
リリース: 2024-12-01 01:17:10
オリジナル
747 人が閲覧しました

How to Query MySQL with sqlx Using a Slice of Values?

sqlx と値のスライスを使用して MySQL をクエリする

スライスに含まれる値に基づいてデータを取得するためにデータベース テーブルをクエリする場合、ユーザーは以下に示すようなエラーが発生する可能性があります:

sql: converting Exec argument #0's type: unsupported type []int, a slice
quotes []
ログイン後にコピー

このエラーは、クエリが

この問題を解決するために、sqlx は In() と呼ばれる便利なヘルパー関数を提供しています。この関数は、値のスライスとクエリ文字列を引数として受け取り、? を付けて変更されたクエリを返します。バインド変数。このクエリは、Rebind() メソッドを使用して適切なデータベース バックエンドに再バインドできます。

In() の使用方法の例を次に示します。

var qids []int

// fills qids on query dynamically
query, args, err := sqlx.In("SELECT * FROM quote WHERE qid IN (?)", qids)
if err != nil {
    log.Fatal(err)
}

// sqlx.In returns queries with the `?` bindvar, we can rebind it for our backend
//
query = database.SQL.Rebind(query)  // database.SQL should be a *sqlx.DB

err = database.SQL.Select(&quotes, query, args...)
if err != nil {
    log.Fatal(err)
}
ログイン後にコピー

上記のコードは値を取得します。 「qid」フィールドが qids スライスのいずれかの値と一致する「quote」テーブルから。

詳細なリファレンスと例については、次のサイトを参照してください。公式 sqlx ドキュメント (http://jmoiron.github.io/sqlx/)。

以上が値のスライスを使用して sqlx で MySQL にクエリを実行する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート