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

SET variabel yang ditentukan pengguna di mysql mengembalikan nol?

Satu-satunya cara ini bisa terjadi (dalam sesi klien) - dan cara itu terjadi untuk saya dari waktu ke waktu - adalah Anda mendapatkan sedikit waktu tunggu singkat pada koneksi klien. Ini seperti ini:

mysql> set @a = 10;

mysql> [wait for N+1 minutes, where N is the client timeout]

mysql> select @a;
+------+
| NULL |
+------+
| NULL | 
+------+
1 row in set (0.00 sec)

Anda harus menginisialisasi variabel Anda dan menggunakannya dalam sesi klien yang berdekatan. Saat sesi hilang, Anda kehilangan semua variabel Anda.

Penjelasan lainnya, seperti yang ditunjukkan oleh orang lain di komentar, adalah bahwa perintah tersebut mengenai server dari koneksi yang berbeda; masalah Anda mungkin bukan batas waktu, tetapi Anda memulai perintah "SET ..." dan "SELECT ..." dalam koneksi yang berbeda. Variabel pengguna tidak dibagikan di berbagai koneksi.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pelengkapan otomatis di MySQL di bawah Windows

  2. Prosedur tersimpan MySQL menggunakannya atau tidak menggunakannya

  3. mysql Dimana tidak menggunakan dua kolom

  4. PathExpression tidak valid. Harus berupa StateFieldPathExpression

  5. Apa sintaks yang benar untuk menemukan dan mengganti Regex menggunakan REGEXP_REPLACE di MariaDB?