Dấu @ dùng để khai báo biến người dùng (user-defined variables) trong phiên làm việc (session).
Cú pháp
SET @ten_bien := gia_tri;
Ví dụ minh họa
Tạo bảng:
mysql> CREATE TABLE DemoTable1331 (
Id INT,
Name VARCHAR(20)
);
Chèn dữ liệu:
mysql> INSERT INTO DemoTable1331 VALUES(10, 'Chris'), (101, 'David'), (40, 'Bob'), (30, 'Mike'), (60, 'John');
Xem dữ liệu:
mysql> SELECT * FROM DemoTable1331;
+------+-------+ | Id | Name | +------+-------+ | 10 | Chris | | 101 | David | | 40 | Bob | | 30 | Mike | | 60 | John | +------+-------+
Sử dụng biến @Value trong truy vấn:
mysql> SET @Value := 40; mysql> SELECT * FROM DemoTable1331 WHERE Id > @Value;
Kết quả (Id > 40):
+------+-------+ | Id | Name | +------+-------+ | 101 | David | | 60 | John | +------+-------+
Đặc điểm biến @:
- Phạm vi: session (mất khi ngắt kết nối).
- Không cần khai báo kiểu dữ liệu.
- Gán giá trị:
SET @a = 1hoặcSET @a := 1(trong SELECT dùng:=để tránh nhầm so sánh). - Dùng trong stored procedure, trigger, prepared statement.