การกำหนดค่าจาก Query ให้กับ User-Defined Variable (@variable)
ใน MySQL เราสามารถนำผลลัพธ์ของคำสั่ง SELECT (ที่คืนค่า 1 แถว 1 คอลัมน์) ไปเก็บใน User-Defined Variable (ขึ้นต้นด้วย @) ได้โดยใช้ SELECT column INTO @var FROM table WHERE condition
สร้างตารางและเพิ่มข้อมูล
mysql> CREATE TABLE DemoTable (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
Name VARCHAR(100)
);
Query OK, 0 rows affected (0.73 sec)
mysql> INSERT INTO DemoTable(Name) VALUES('Chris');
mysql> INSERT INTO DemoTable(Name) VALUES('Robert');
mysql> INSERT INTO DemoTable(Name) VALUES('David');
แสดงข้อมูลทั้งหมด
mysql> SELECT * FROM DemoTable;
ผลลัพธ์:
+----+--------+
| Id | Name |
+----+--------+
| 1 | Chris |
| 2 | Robert |
| 3 | David |
+----+--------+
3 rows in set (0.00 sec)
คำสั่ง Select Name เข้า Variable @FirstName
mysql> SELECT Name INTO @FirstName FROM DemoTable WHERE Id = 3;
Query OK, 1 row affected (0.02 sec)
ตรวจสอบค่า Variable
mysql> SELECT @FirstName;
ผลลัพธ์:
+------------+
| @FirstName |
+------------+
| David |
+------------+
1 row in set (0.00 sec)
คำอธิบาย
@FirstName: User-Defined Variable (Session-scoped, เริ่มต้นด้วย @)SELECT ... INTO @var: ต้องคืนค่าเพียง 1 แถว 1 คอลัมน์ มิฉะนั้น Error- Variable จะคงค่าตลอด Session สามารถนำไปใช้ใน Query ต่อไปได้
- ใช้ได้ใน Stored Procedure, Trigger, หรือ Script หลายคำสั่ง