web-dev-qa-db-fra.com

Comment afficher la valeur d'une variable en ligne de commande dans MySQL?

J'ai essayé ce qui suit - 

J'ai créé une variable à l'invite de commande comme suit - 

mysql> set @myId = 1;
Query OK, 0 rows affected (0.00 sec)

Ensuite, pour l'afficher, j'ai essayé ce qui suit sans succès - 

    mysql> show myId;
    ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that 
corresponds to your MySQL server version for the right syntax to use near 'myId' at line 1
    mysql> show @myId;
    ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near '@myId' at line 1
    mysql> PRINT @myId;
    ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that 
corresponds to your MySQL server version for the right syntax to use near 'PRINT @myId' at line 1
    mysql> PRINT myId;
    ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that 
corresponds to your MySQL server version for the right syntax to use near 'PRINT myId' at line 1

Alors, comment puis-je afficher la valeur de @myId

35
CodeBlue

Simplement SELECT la variable comme ceci:

SELECT @myId;

Voici la documentation MySQL sur les variables définies par l'utilisateur:

http://dev.mysql.com/doc/refman/5.5/fr/user-variables.html

53
Mike Brant

Si vous recherchez une variable que vous définissez vous-même, comme le fait le PO, @ MikeBrant répond alors correctement:

SELECT @myId;

Mais si vous voulez voir les variables système MySQL (ce que je suis venu chercher ici), alors vous devez exécuter:

show variables like '%slow%';
0
Ryan Shillington

SHOW GLOBAL STATUS LIKE '% com_stmt%'; Peut être utilisé pour déterminer les valeurs actuelles de SHOW GLOBAL STATUS à l'aide d'un caractère générique.

De même, SELECT @@ thread_cache_size; Peut être utilisé pour afficher toute valeur courante de SHOW GLOBAL VARIABLES.

Il y a plus de 300 valeurs GLOBAL STATUS.

Il y a plus de 400 VARIABLES GLOBALES avec ou sans valeurs. (Peut être des espaces réservés vides).

Vous NE POUVEZ PAS créer une variable globale dans MySQL.

0
Wilson Hauck