Опция 1:Поставете това във вашата процедура, за да отпечатате „коментар“ към стандартен извеждащ текст, когато се изпълнява.
SELECT 'Comment';
Опция 2:Поставете това във вашата процедура, за да отпечатате променлива с нея в стандартен извеждащ текст:
declare myvar INT default 0;
SET myvar = 5;
SELECT concat('myvar is ', myvar);
Това отпечатва myvar is 5
към stdout, когато процедурата се изпълнява.
Опция 3, Създайте таблица с една текстова колона, наречена tmptable
, и изпращайте съобщения към него:
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';
Има много тежки ограничения за тази команда. Можете да запишете изходящия файл само в области на диска, които дават на групата „други“ разрешения за създаване и запис. Трябва да работи, като го запише в директория /tmp.
Също така, след като напишете изходящия файл, не можете да го презапишете. Това е, за да предотвратите кракерите да руутват вашата кутия само защото са инжектирали SQL уебсайта ви и могат да изпълняват произволни команди в MySQL.