Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

MySQL:Tetapkan variabel pengguna dari hasil kueri

Ya, tetapi Anda perlu memindahkan penetapan variabel ke dalam kueri:

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

Kasus uji:

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

Hasil:

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)

Perhatikan bahwa untuk SET , baik = atau := dapat digunakan sebagai operator penugasan. Namun di dalam pernyataan lain, operator penugasan harus := dan bukan = karena = diperlakukan sebagai operator perbandingan dalam pernyataan non-SET.

PERBARUI:

Selanjutnya untuk komentar di bawah, Anda juga dapat melakukan hal berikut:

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. Apa struktur database terbaik untuk menyimpan data multibahasa?

  2. Dapatkan tanggal terbaru dari data MySQL yang dikelompokkan

  3. Bagaimana Fungsi LCASE() Bekerja di MySQL

  4. Hapus baris duplikat di MySQL

  5. Hashing kata sandi menggunakan crypt tidak berfungsi saat login, ini menampilkan pass yang salah