Problemet her er, at omfanget af MySQL-triggere er på rækkeniveau, ikke erklæringsniveau. Som sådan har du inden for triggeren adgang til GAMLE og NYE værdier for hver kolonne i den givne række, men du har ikke adgang til den sætning, der fik triggeren til at udløses.
Med hensyn til information_schema.processlist er intet faktisk "gemt" (vedvarende) i den visning. Det er kun en SQL-grænseflade til proceslisten, og sætningen, der fik triggeren til at udløses, er ikke tilgængelig inden for udløserens omfang.
Du sagde, at du ikke ønsker at aktivere den generelle forespørgselslog, og denne tilgang er ikke perfekt af flere årsager (inklusive granulariteten af event_Time er 1 sekund), men her er et eksempel på, hvordan du kan omskrive din trigger ved hjælp af general_log tabel:
SET GLOBAL GENERAL_LOG='ON';
SET GLOBAL LOG_OUTPUT='TABLE';
DELIMITER ||
CREATE TRIGGER DEBUG_DATE BEFORE UPDATE ON db.tbl FOR EACH ROW
BEGIN
DECLARE Q MEDIUMTEXT;
SELECT argument INTO Q
FROM mysql.general_log
where thread_id = connection_id()
order by event_time desc
limit 1;
INSERT INTO db.tbl_log (INFO)
VALUES (Q);
END ||
DELIMITER ;