Det enklaste sättet är att lägga till en nollbar kolumn med typen TIMESTAMP, med utlösaren:ON UPDATE CURRENT_TIMESTAMP .
Därför kommer infogningarna inte att ändras eftersom kolumnen accepterar nollvärden, och du kan bara välja nya och ändrade kolumner genom att säga:
SELECT * FROM `table` WHERE `mdate` > '2011-12-21 12:31:22'
Varje gång du uppdaterar en rad kommer denna kolumn att ändras automatiskt.
Här är lite mer information:http://dev.mysql.com /doc/refman/5.0/en/timestamp.html
För att se raderade rader skapa helt enkelt en trigger som kommer att logga varje radering till en annan tabell:
DELIMITER $$
CREATE TRIGGER MyTable_Trigger
AFTER DELETE ON MyTable
FOR EACH ROW
BEGIN
INSERT INTO MyTable_Deleted VALUES(OLD.id, NOW());
END$$