オプション1:これをプロシージャに入れて、実行時に「コメント」をstdoutに出力します。
SELECT 'Comment';
オプション2:これをプロシージャに入れて、変数をstdoutに出力します:
declare myvar INT default 0;
SET myvar = 5;
SELECT concat('myvar is ', myvar);
これは、myvar is 5
を出力します プロシージャの実行時にstdoutします。
オプション3、tmptable
という1つのテキスト列を持つテーブルを作成します 、メッセージをプッシュします:
declare myvar INT default 0;
SET myvar = 5;
insert into tmptable select concat('myvar is ', myvar);
上記をストアドプロシージャに入れることができるので、書く必要があるのはこれだけです:
CALL log(concat('the value is', myvar));
これにより、いくつかのキーストロークを節約できます。
オプション4、メッセージをファイルに記録する
select "penguin" as log into outfile '/tmp/result.txt';
このコマンドには非常に厳しい制限があります。 「others」グループに作成および書き込み権限を付与するディスク上の領域にのみ、出力ファイルを書き込むことができます。 /tmpディレクトリに保存すると機能するはずです。
また、一度出力ファイルを書き込むと、それを上書きすることはできません。これは、クラッカーがWebサイトにSQLを挿入し、MySQLで任意のコマンドを実行できるという理由だけで、クラッカーがボックスをルート化するのを防ぐためです。