ต่อไปนี้คือคุณสมบัติของตัวแปรผู้ใช้ MySQL -
ไม่คำนึงถึงขนาดตัวพิมพ์
ตัวแปรผู้ใช้ไม่คำนึงถึงขนาดตัวพิมพ์ โดยคำนึงถึงขนาดตัวพิมพ์ก่อนเวอร์ชัน MySQL 5 ซึ่งสามารถอธิบายได้ในตัวอย่างต่อไปนี้ -
ตัวอย่าง
mysql> SET @A = 'MySQL'; Query OK, 0 rows affected (0.00 sec) mysql> Select @A, @a; +-------+-------+ | @A | @a | +-------+-------+ | MySQL | MySQL | +-------+-------+ 1 row in set (0.00 sec)
เฉพาะการเชื่อมต่อไคลเอ็นต์
ที่จริงแล้ว ตัวแปรผู้ใช้มีความเฉพาะเจาะจงสำหรับการเชื่อมต่อไคลเอนต์ภายในซึ่งพวกมันถูกใช้และมีอยู่ในช่วงเวลาของการเชื่อมต่อนั้นเท่านั้น เมื่อการเชื่อมต่อสิ้นสุดลง ตัวแปรผู้ใช้ทั้งหมดจะหายไป
ใช้ได้กับนิพจน์เท่านั้น
ตัวแปรผู้ใช้สามารถปรากฏเฉพาะเมื่ออนุญาตให้ใช้นิพจน์ สามารถปรากฏขึ้นเมื่อค่าคงที่หรือตัวระบุตามตัวอักษรปรากฏขึ้น ตามตัวอย่างที่เราพยายามใช้ตัวแปรผู้ใช้เพื่อระบุชื่อตารางจะแสดงให้เห็น
ตัวอย่าง
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)'
เสียเมื่อกำหนดมูลค่าใหม่
ค่าของตัวแปรผู้ใช้จะหายไปเมื่อเรากำหนดค่าใหม่ให้กับตัวแปรนั้น กล่าวอีกนัยหนึ่ง ค่าของตัวแปรผู้ใช้ที่กำหนดจะคงอยู่จนกว่าเราจะกำหนดค่าอื่นให้กับมัน ตัวอย่างต่อไปนี้จะแสดงให้เห็น -
ตัวอย่าง
mysql> SET @name = 'Rahul'; Query OK, 0 rows affected (0.00 sec) mysql> Select @name; +-------+ | @name | +-------+ | Rahul | +-------+ 1 row in set (0.00 sec)
ขณะนี้ตัวแปร @name มีค่าเป็น 'Rahul' แต่เมื่อเราเปลี่ยนค่าเป็น 'Raman' ค่าเดิมจะหายไป
mysql> SET @name = 'Raman'; Query OK, 0 rows affected (0.00 sec) mysql> Select @name; +-------+ | @name | +-------+ | Raman | +-------+ 1 row in set (0.00 sec)