Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

Select ค่าเข้า User-Defined Variable ใน MySQL ด้วย SELECT ... INTO @var

การกำหนดค่าจาก 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 หลายคำสั่ง