1. Không phân biệt chữ hoa/thường (Case-insensitive)
Từ MySQL 5, @A và @a là cùng một biến.
mysql> SET @A = 'MySQL'; mysql> SELECT @A, @a; +-------+-------+ | @A | @a | +-------+-------+ | MySQL | MySQL | +-------+-------+
2. Gắn liền với kết nối client (Connection-specific)
Biến chỉ tồn tại trong phiên kết nối tạo ra nó. Khi ngắt kết nối, tất cả biến mất.
3. Chỉ dùng ở nơi cho phép biểu thức (Expression-only)
Không thể dùng biến làm tên bảng, tên cột, v.v.
mysql> SET @table_name = CONCAT('tbl_','Employee');
mysql> CREATE TABLE @table_name (Id INT);
ERROR 1064: Syntax error near '@table_name'
4. Giá trị bị ghi đè khi gán mới
Biến chỉ giữ giá trị gần nhất gán.
mysql> SET @name = 'Rahul'; SELECT @name; -- Rahul mysql> SET @name = 'Raman'; SELECT @name; -- Raman (giá trị cũ mất)