Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Gán biến user từ kết quả truy vấn trong MySQL?

Sử dụng cú pháp SET @bien = (SELECT ...) để gán kết quả truy vấn skalar (1 giá trị) vào biến người dùng (user-defined variable).

Ví dụ:

CREATE TABLE UserVariable (Id INT, Name VARCHAR(100));
INSERT INTO UserVariable VALUES (101,'John'), (200,'Tom'), (500,'Carol');

Bước 1: Tìm ID lớn nhất gán vào biến @Maxid:

SET @Maxid = (SELECT MAX(Id) FROM UserVariable);  -- @Maxid = 500

Bước 2: Lấy tên tương ứng với ID đó gán vào @Name:

SET @Name = (SELECT Name FROM UserVariable WHERE Id = @Maxid);

Kiểm tra:

SELECT @Name;

Kết quả

+-------+
| @Name |
+-------+
| Carol |
+-------+

Lưu ý:

  • Truy vấn con phải trả về duy nhất 1 hàng, 1 cột.
  • Biến user có tiền tố @, phạm vi phiên làm việc (session).
  • Có thể dùng trực tiếp trong truy vấn: SELECT * FROM bang WHERE id = @Maxid;