Het probleem hier is dat het bereik van MySQL-triggers op rijniveau is, niet op instructieniveau. Als zodanig heb je binnen de trigger toegang tot de OUDE en NIEUWE waarden voor elke kolom in de gegeven rij, maar heb je geen toegang tot de instructie die ervoor zorgde dat de trigger werd geactiveerd.
Met betrekking tot information_schema.processlist wordt in die weergave eigenlijk niets "opgeslagen" (aangehouden). Het is gewoon een SQL-interface naar de proceslijst en de instructie die ervoor zorgde dat de trigger werd geactiveerd, is niet toegankelijk binnen het bereik van de trigger.
U zei dat u het algemene querylogboek niet wilt inschakelen, en deze aanpak is om meerdere redenen niet perfect (inclusief de granulariteit van event_Time van 1 seconde), maar hier is een voorbeeld van hoe u uw trigger opnieuw zou kunnen schrijven met behulp van de 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 ;