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

วิธีเก็บผลลัพธ์ Query ลงในตัวแปรใน MySQL

การใช้ SELECT ... INTO สำหรับกำหนดค่าตัวแปร

ใน MySQL คุณสามารถเก็บผลลัพธ์ของ Query (Single Value) ลงในตัวแปรผู้ใช้ (User Variable) ได้ด้วยคำสั่ง SELECT ... INTO

รูปแบบคำสั่ง

SELECT your_column INTO @variable_name 
FROM your_table_name 
WHERE condition;

ตัวอย่างการใช้งานจริง

1. สร้างตารางข้อมูลนักศึกษา

CREATE TABLE StudentInformation (
    StudentId INT,
    StudentName VARCHAR(100),
    StudentAge INT
);

2. เพิ่มข้อมูลตัวอย่าง

INSERT INTO StudentInformation VALUES 
(1, 'John', 23),
(2, 'Adam', 24),
(3, 'Bob', 21),
(4, 'Carol', 20),
(5, 'Mike', 25);

3. เก็บอายุของ Adam ลงตัวแปร

SELECT StudentAge INTO @yourAge 
FROM StudentInformation 
WHERE StudentName = 'Adam';

4. ตรวจสอบค่าในตัวแปร

SELECT @yourAge;

ผลลัพธ์

+----------+
| @yourAge |
+----------+
| 24       |
+----------+

ข้อควรระวังและข้อจำกัด

  • ⚠️ Query ต้องคืนค่า เพียง 1 แถว 1 คอลัมน์ เท่านั้น (Error ถ้ามากกว่า)
  • ใช้ LIMIT 1 เพื่อความปลอดภัย: SELECT col INTO @var FROM table WHERE cond LIMIT 1
  • ตัวแปร User Variable (@var) มีอายุอยู่ใน Session นั้นๆ เท่านั้น
  • สำหรับหลายค่า ให้ใช้หลายตัวแปร: SELECT col1, col2 INTO @var1, @var2 FROM table WHERE cond
  • ใน Stored Procedure ควรใช้ DECLARE ตัวแปร Local แทน (เร็วกว่าและปลอดภัยกว่า)