「MySQL」ユーザー定義変数を利用する方法
環境
Windows 11 Pro 21H2 64bit
MySQL 8.0.30
書式
SET @var_name = expr [, @var_name = expr] …
ユーザー定義変数を設定する方法の 1 つに、SET ステートメントを発行する方法が挙げられます。
SET では、= または := のどちらかを割り当て演算子として使用できます。
使用例1
変数を作ります
mysql> SET @var_name = 'StudySkill'; Query OK, 0 rows affected (0.05 sec)
変数を参照します。
mysql> SELECT @var_name; +------------+ | @var_name | +------------+ | StudySkill | +------------+ 1 row in set (0.00 sec)
使用例2
SET 以外のステートメントで、ユーザー変数に値を割り当てることもできます。この場合、= は SET 以外のステートメントでは比較演算子 = として扱われるので、
割り当て演算子にはこちらではなく、:= を使用する必要があります。
mysql> SET @tA=11, @tB=22, @tC:=44; Query OK, 0 rows affected (0.04 sec) mysql> SELECT @tA, @tB, @tC, @tD := @tA+@tB+@tC; +------+------+------+--------------------+ | @tA | @tB | @tC | @tD := @tA+@tB+@tC | +------+------+------+--------------------+ | 11 | 22 | 44 | 77 | +------+------+------+--------------------+ 1 row in set, 1 warning (0.02 sec)