- MySQL
- 2022-09-17
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