Il modo più semplice è aggiungere una colonna nullable con tipo TIMESTAMP, con il trigger:ON UPDATE CURRENT_TIMESTAMP .
Pertanto, gli inserimenti non cambieranno perché la colonna accetta valori null e puoi selezionare solo le colonne nuove e modificate dicendo:
SELECT * FROM `table` WHERE `mdate` > '2011-12-21 12:31:22'
Ogni volta che aggiorni una riga, questa colonna cambierà automaticamente.
Ecco alcune ulteriori informazioni:http://dev.mysql.com /doc/refman/5.0/en/timestamp.html
Per vedere le righe eliminate, crea semplicemente un trigger che registrerà ogni eliminazione in un'altra tabella:
DELIMITER $$
CREATE TRIGGER MyTable_Trigger
AFTER DELETE ON MyTable
FOR EACH ROW
BEGIN
INSERT INTO MyTable_Deleted VALUES(OLD.id, NOW());
END$$