sql >> Database teknologi >  >> RDS >> Mysql

MySQL - Hurtigste måde at kontrollere, om data i InnoDB-tabellen er ændret

Den enkleste måde er at tilføje en nullbar kolonne med typen TIMESTAMP med triggeren:ON UPDATE CURRENT_TIMESTAMP .

Derfor vil indsættelserne ikke ændre sig, fordi kolonnen accepterer nuller, og du kan kun vælge nye og ændrede kolonner ved at sige:

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

Hver gang du opdaterer en række, ændres denne kolonne automatisk.

Her er nogle flere oplysninger:http://dev.mysql.com /doc/refman/5.0/da/timestamp.html

For at se slettede rækker skal du blot oprette en trigger, som vil logge hver sletning til en anden tabel:

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


  1. Hvordan begrænser jeg antallet af rækker, der returneres af en Oracle-forespørgsel efter bestilling?

  2. Top 10 ofte stillede spørgsmål om SQL Server Performance Monitoring

  3. MYSQL &Phpmyadmin viser ikke den samme DB

  4. Giv alle på et specifikt skema i db'en til en grupperolle i PostgreSQL