Problemet här är att omfattningen av MySQL-utlösare är radnivå, inte uttalandenivå. Som sådan har du inom triggern åtkomst till GAMLA och NYA värden för varje kolumn i den givna raden, men du har inte åtkomst till uttalandet som fick utlösaren att aktiveras.
När det gäller information_schema.processlist är ingenting faktiskt "lagrat" (bevarat) i den vyn. Det är bara ett SQL-gränssnitt till processlistan, och satsen som fick utlösaren att aktiveras är inte tillgänglig inom utlösarens omfång.
Du sa att du inte vill aktivera den allmänna frågeloggen, och det här tillvägagångssättet är inte perfekt av flera anledningar (inklusive granulariteten för event_Time är 1 sekund), men här är ett exempel på hur du kan skriva om din trigger med hjälp av generell_loggtabell:
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 ;