Masalahnya di sini adalah bahwa ruang lingkup pemicu MySQL adalah tingkat baris, bukan tingkat pernyataan. Dengan demikian, dalam pemicu Anda memiliki akses ke nilai LAMA dan BARU untuk setiap kolom di baris yang diberikan, tetapi Anda tidak memiliki akses ke pernyataan yang menyebabkan pemicu diaktifkan.
Berkenaan dengan information_schema.processlist, tidak ada yang sebenarnya "disimpan" (bertahan) dalam tampilan itu. Ini hanya antarmuka SQL ke daftar proses, dan pernyataan yang menyebabkan pemicu diaktifkan tidak dapat diakses dalam lingkup pemicu.
Anda mengatakan bahwa Anda tidak ingin mengaktifkan log kueri umum, dan pendekatan ini tidak sempurna karena berbagai alasan (termasuk perincian event_Time menjadi 1 detik), tetapi inilah contoh bagaimana Anda dapat menulis ulang pemicu Anda menggunakan tabel general_log:
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 ;