Computer >> Máy Tính >  >> Lập trình >> MySQL

Đặt biến người dùng từ kết quả của truy vấn trong MySQL?

Để đặt biến người dùng từ kết quả của truy vấn trong MySQL, bạn cần chuyển biến đó vào phần gán.

Để hiểu khái niệm trên, trước tiên chúng ta hãy tạo một bảng. Truy vấn để tạo bảng như sau -

mysql> create table UserVariable
   -> (
   -> Id int,
   -> Name varchar(100)
   -> );
Query OK, 0 rows affected (0.53 sec)

Chèn một số bản ghi trong bảng bằng lệnh chèn. Truy vấn như sau -

mysql> insert into UserVariable values(101,'John');
Query OK, 1 row affected (0.17 sec)

mysql> insert into UserVariable values(200,'Tom');
Query OK, 1 row affected (0.18 sec)

mysql> insert into UserVariable values(500,'Carol');
Query OK, 1 row affected (0.13 sec)

Hiển thị tất cả các bản ghi từ bảng bằng lệnh select. Truy vấn như sau -

mysql> select *from UserVariable;

Đầu ra

+------+-------+
| Id   | Name  |
+------+-------+
|  101 | John  |
|  200 | Tom   |
|  500 | Carol |
+------+-------+
3 rows in set (0.00 sec)

Viết một truy vấn với một biến người dùng hiển thị các bản ghi có id tối đa. Đầu tiên, tôi sẽ tạo một biến và khởi tạo biến này bằng cách chọn id tối đa từ bảng trên. Truy vấn như sau -

mysql> set @Maxid=(select MAX(Id) from UserVariable);
Query OK, 0 rows affected (0.00 sec)

Sau đó, tạo một biến khác chỉ có tên với id tối đa cụ thể đó. Truy vấn như sau -

mysql> set @Name=(select Name from UserVariable where Id=@Maxid);
Query OK, 0 rows affected (0.00 sec)

Bây giờ bạn có thể kiểm tra giá trị nào có trong Tên biến. Truy vấn như sau -

mysql> select @Name;

Sau đây là kết quả hiển thị tên có Id cao nhất -

+-------+
| @Name |
+-------+
| Carol |
+-------+
1 row in set (0.00 sec)