web-dev-qa-db-ja.com

MySQLのコマンドラインで変数の値を表示する方法は?

私は次を試しました-

次のようにコマンドプロンプトで変数を作成しました-

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

次に、それを表示するために、私は次のことを試みましたが成功しませんでした-

    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

それでは、どのようにして@myIdの値を表示できますか?

40
CodeBlue

次のような変数を単にSELECT

SELECT @myId;

ユーザー定義変数に関するMySQLドキュメントは次のとおりです。

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

60
Mike Brant

OPのように自分で設定した変数を探している場合は、@ MikeBrantの答えは正しいです。

SELECT @myId;

しかし、MySQLシステム変数(これは私がここで探しているものです)を表示したい場合、実行する必要があります。

show variables like '%slow%';
0

「%com_stmt%」のようなグローバルステータスを表示します。ワイルドカードを使用してSHOW GLOBAL STATUSの現在の値を決定するために使用できます。

同様に、SELECT @@ thread_cache_size; SHOW GLOBAL VARIABLESの現在の値を表示するために使用できます。

300を超えるグローバルステータス値があります。

値付きまたは値なしの400を超えるグローバル変数があります。 (空のプレースホルダーである可能性があります)。

MySQLでグローバル変数を作成することはできません。

0
Wilson Hauck