Le moyen le plus simple consiste à ajouter une colonne nullable de type TIMESTAMP, avec le déclencheur :ON UPDATE CURRENT_TIMESTAMP .
Par conséquent, les insertions ne changeront pas car la colonne accepte les valeurs nulles et vous ne pouvez sélectionner que les colonnes nouvelles et modifiées en disant :
SELECT * FROM `table` WHERE `mdate` > '2011-12-21 12:31:22'
Chaque fois que vous mettez à jour une ligne, cette colonne change automatiquement.
Voici quelques informations supplémentaires :http://dev.mysql.com /doc/refman/5.0/fr/horodatage.html
Pour voir les lignes supprimées, créez simplement un déclencheur qui enregistrera chaque suppression dans une autre table :
DELIMITER $$
CREATE TRIGGER MyTable_Trigger
AFTER DELETE ON MyTable
FOR EACH ROW
BEGIN
INSERT INTO MyTable_Deleted VALUES(OLD.id, NOW());
END$$