คุณสมบัติหลักของ MySQL User Variables
1. ไม่คำนึงถึงตัวพิมพ์เล็ก/ใหญ่ (Not Case-Sensitive)
ตัวแปรผู้ใช้ไม่คำนึงถึง case-sensitive (ใน MySQL 5 ขึ้นไป) ก่อนเวอร์ชัน 5 เป็น case-sensitive
mysql> SET @A = 'MySQL'; Query OK, 0 rows affected (0.00 sec) mysql> Select @A, @a; +-------+-------+ | @A | @a | +-------+-------+ | MySQL | MySQL | +-------+-------+
2. เฉพาะเจาะจงต่อการเชื่อมต่อไคลเอ็นต์ (Connection-specific)
ตัวแปรผู้ใช้เป็นของการเชื่อมต่อไคลเอ็นต์ที่ใช้อยู่ และมีอยู่เฉพาะระยะเวลาของการเชื่อมต่อนั้นๆ เมื่อการเชื่อมต่อสิ้นสุด ตัวแปรผู้ใช้ทั้งหมดจะหายไป
3. ทำงานกับนิพจน์ (expressions) เท่านั้น
ตัวแปรผู้ใช้ปรากฏได้เฉพาะที่อนุญาตให้นิพจน์ (expressions) ปรากฏ ไม่สามารถใช้เป็นชื่อตารางหรือชื่อคอลัมน์ได้
mysql> Set @table_name = CONCAT('tbl_','Employee');
Query OK, 0 rows affected (0.00 sec)
mysql> Create Table @table_name(Id Int);
ERROR 1064 (42000): You have an error in your SQL syntax near '@table_name(Id Int)'
4. ค่าจะหายเมื่อกำหนดค่าใหม่ (Value lost on reassignment)
ค่าของตัวแปรผู้ใช้จะหายไปเมื่อเรากำหนดค่าใหม่ให้ มันคงอยู่จนกว่าจะมีการกำหนดค่าใหม่
mysql> SET @name = 'Rahul'; mysql> Select @name; -- คืนค่า Rahul mysql> SET @name = 'Raman'; mysql> Select @name; -- คืนค่า Raman (ค่า Rahul หายไปแล้ว)