ホームページ >データベース >mysql チュートリアル >値の文字列をストアド プロシージャの IN 句に渡す方法
IN 句への変数の受け渡し
IN 句を含む SELECT ステートメントを含むストアド プロシージャを考えてみましょう。
SELECT product_id, product_price FROM product WHERE product_type IN ('AA','BB','CC');
値の文字列を含む 1 つの変数から IN 句の値を設定する場合は、次のようになります。
'AA,BB,CC'
このアプローチを使用すると、問題が発生する可能性があります。解決策は次のとおりです。
文字列を IN 句に直接渡す代わりに、次の形式でパラメータ値として渡します。
'AA,BB,CC'
FIND_IN_SET 関数を使用して、各 product_type 値は入力パラメータに存在します:
SELECT product_id, product_price FROM product WHERE FIND_IN_SET(product_type, param);
この変更されたステートメントでは、param は値の文字列を含む入力パラメータを表します。
以上が値の文字列をストアド プロシージャの IN 句に渡す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。