Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySQL - Le moyen le plus rapide de vérifier si les données de la table InnoDB ont changé

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$$