Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

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

Có, nhưng bạn cần chuyển phép gán biến vào truy vấn:

SET @user := 123456;
SELECT @group := `group` FROM user WHERE user = @user;
SELECT * FROM user WHERE `group` = @group;

Trường hợp thử nghiệm:

CREATE TABLE user (`user` int, `group` int);
INSERT INTO user VALUES (123456, 5);
INSERT INTO user VALUES (111111, 5);

Kết quả:

SET @user := 123456;
SELECT @group := `group` FROM user WHERE user = @user;
SELECT * FROM user WHERE `group` = @group;

+--------+-------+
| user   | group |
+--------+-------+
| 123456 |     5 |
| 111111 |     5 |
+--------+-------+
2 rows in set (0.00 sec)

Lưu ý rằng đối với SET , = hoặc := có thể được sử dụng làm toán tử gán. Tuy nhiên, bên trong các câu lệnh khác, toán tử gán phải là := chứ không phải = bởi vì = được coi như một toán tử so sánh trong các câu lệnh không phải SET.

CẬP NHẬT:

Ngoài các nhận xét bên dưới, bạn cũng có thể làm như sau:

SET @user := 123456;
SELECT `group` FROM user LIMIT 1 INTO @group; 
SELECT * FROM user WHERE `group` = @group;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào để hiển thị album ảnh trong bài viết? [chỉ sử dụng PHP và MYSQL]

  2. Bẫy cảnh báo MySQL bằng Python

  3. MySQL THAM GIA ĐẦY ĐỦ?

  4. Bảng mã ký tự nào tốt nhất cho ngôn ngữ tiếng Nhật cho hiển thị DB, php và html?

  5. Chèn nhiều hàng từ một biểu mẫu php vào cơ sở dữ liệu