カテゴリー
SugiBlog Webエンジニアのためのお役立ちTips

MySQL カラムの値をSELECT…INTO構文で変数に格納する

SELECT...INTO構文を使用すると、クエリー結果を変数に格納することができます。
ストアドファンクションで利用する機会があったのでご紹介します。

構文例

SELECT field_name INTO @param FROM table limit 1;

最後にlimit 1と付けているのは、この構文を使うときはレコード数が1件でないといけないからです。
もし1件以上のデータが合致してしまった場合はエラーが発生し、以下のようなメッセージが返されます。

ERROR 1172 (42000): Result consisted of more than one row

SELECT...INTOが成功した後に以下を実行すると、設定した変数の内容を確認することができます。

SELECT @param;

こちらは公式リファレンスマニュアルにも掲載されている方法です。
https://dev.mysql.com/doc/refman/5.6/ja/select-into.html

1,412 views