Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL - Schnellster Weg, um zu überprüfen, ob sich Daten in der InnoDB-Tabelle geändert haben

Am einfachsten ist es, eine Nullable-Spalte vom Typ TIMESTAMP hinzuzufügen, mit dem Trigger:ON UPDATE CURRENT_TIMESTAMP .

Daher ändern sich die Einfügungen nicht, da die Spalte Nullen akzeptiert, und Sie können nur neue und geänderte Spalten auswählen, indem Sie Folgendes sagen:

SELECT * FROM `table` WHERE `mdate` > '2011-12-21 12:31:22'

Jedes Mal, wenn Sie eine Zeile aktualisieren, ändert sich diese Spalte automatisch.

Hier sind einige weitere Informationen:http://dev.mysql.com /doc/refman/5.0/en/timestamp.html

Um gelöschte Zeilen anzuzeigen, erstellen Sie einfach einen Trigger, der jede Löschung in einer anderen Tabelle protokolliert:

DELIMITER $$
CREATE TRIGGER MyTable_Trigger
AFTER DELETE ON MyTable
FOR EACH ROW
BEGIN
    INSERT INTO MyTable_Deleted VALUES(OLD.id, NOW());
END$$