ใน MySQL สามารถกำหนด User-Defined Variables ด้วย SET @var := value แล้วนำไปใช้ใน Query ต่อๆ ไป (Session-scoped)
Syntax
SET @yourVariableName := yourValue; SELECT * FROM yourTableName WHERE yourColumnName = @yourVariableName;
สร้างตารางและข้อมูล
mysql> create table DemoTable (
Id int, FirstName varchar(20), LastName varchar(20)
);
mysql> insert into DemoTable values (10,'Carol','Taylor'),(20,'John','Doe'),(30,'John','Smith'),(40,'David','Miller');
ข้อมูลในตาราง
+------+-----------+----------+ | Id | FirstName | LastName | +------+-----------+----------+ | 10 | Carol | Taylor | | 20 | John | Doe | | 30 | John | Smith | | 40 | David | Miller | +------+-----------+----------+
ตั้งค่า Variable และใช้ใน WHERE
mysql> SET @myId := 30; mysql> SELECT * FROM DemoTable WHERE Id = @myId;
ผลลัพธ์
+------+-----------+----------+ | Id | FirstName | LastName | +------+-----------+----------+ | 30 | John | Smith | +------+-----------+----------+
การกำหนดค่า Variable
| Syntax | ตัวอย่าง | คำอธิบาย |
|---|---|---|
| SET @var := value | SET @x := 10 | Assignment (ใน SET) |
| SET @var = value | SET @x = 10 | Assignment (ใน SET, = หรือ := ได้) |
| SELECT @var := value | SELECT @x := 10 | Assignment ใน SELECT (คืนค่า 10) |
| SELECT @var = value | SELECT @x = 10 | Comparison ใน SELECT (คืน 1/0) |