Bạn có thể sử dụng lệnh SET để gán biến tạm thời.
Cú pháp như sau
SET @ anyVariableName =(CHỌN yourColumnName TỪ yourTableName WHERE yourCondition);
Để hiểu cú pháp trên, chúng ta hãy tạo một bảng. Truy vấn để tạo bảng như sau
mysql> create table tempVariableAssignment -> (-> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> Name varchar (20), -> Age int ->); Truy vấn OK, 0 hàng bị ảnh hưởng (0,59 giây)
Bây giờ hãy chèn một số bản ghi vào bảng bằng lệnh insert
mysql> chèn vào giá trị tempVariableAssignment (Tên, Tuổi) ('John', 25); Truy vấn OK, 1 hàng bị ảnh hưởng (0,14 giây) mysql> chèn vào giá trị tempVariableAssignment (Tên, Tuổi) ('Carol', 26); Truy vấn OK, 1 hàng bị ảnh hưởng (0,17 giây) mysql> chèn vào các giá trị tempVariableAssignment (Tên, Tuổi) ('Sam', 28); Truy vấn OK, 1 hàng bị ảnh hưởng (0,13 giây) mysql> chèn vào tempVariableAssignment (Tên, Tuổi) giá trị ('David', 19); Truy vấn OK, 1 hàng bị ảnh hưởng (0,19 giây) mysql> chèn vào giá trị tempVariableAssignment (Tên, Tuổi) ('Bob', 23); Truy vấn OK, 1 hàng bị ảnh hưởng (0,19 giây)Hiển thị tất cả các bản ghi từ bảng bằng cách sử dụng câu lệnh select.
Truy vấn như sau
mysql> select * from tempVariableAssignment;Sau đây là kết quả
+ ---- + ------- + ------ + | Id | Tên Tuổi | + ---- + ------- + ------ + | 1 | John | 25 || 2 | Carol | 26 || 3 | Sam | 28 || 4 | David | 19 || 5 | Bob | 23 | + ---- + ------- + ------ + 5 hàng trong bộ (0,00 giây)Đây là truy vấn để gán biến tạm thời trong MySQL
mysql> set @ findAge =(chọn Tuổi từ tempVariableAssignment trong đó Id =4); Truy vấn OK, 0 hàng bị ảnh hưởng (0,02 giây)Hiển thị giá trị của biến @findAge.
Truy vấn như sau
mysql> chọn @findAge;Sau đây là kết quả
+ ---------- + | @findAge | + ---------- + | 19 | + ---------- + 1 hàng trong bộ (0,01 giây)Đây là một truy vấn thay thế
mysql> chọn Age INTO @ anotherAge-> từ tempVariableAssignment trong đó Id =4; Truy vấn OK, 1 hàng bị ảnh hưởng (0,00 giây)Hiển thị giá trị của biến @a anotherAge.
Truy vấn như sau
mysql> select @aosystemAge;Sau đây là kết quả
+ ------------- + | @a AnotherAge | + ------------- + | 19 | + ------------- + 1 hàng trong bộ (0,00 giây)