Ik kan je een soort algoritme geven om aan te werken, het meeste grondwerk is al gedaan:
Dit kan uw controletabel zijn, moet een tijdstempelkolom toevoegen als gewijzigde datum of meer informatie volgens uw vereisten:
CREATE TABLE audit (
old_data VARCHAR(100),
new_data VARCHAR(100),
tbl_name VARCHAR(100)
)
|
Dit kan als referentietrigger worden gebruikt; merk op dat er voor elke tafel een aparte trigger zal zijn:
CREATE TRIGGER testtrigger BEFORE UPDATE ON <table_name>
FOR EACH ROW BEGIN
INSERT INTO audit(old_data, new_data, tbl_name) VALUES (OLD.first_name, NEW.first_name, "testtable");
END;
|
U kunt meerdere insert-statements hebben voor elke kolom. Als u een beperking wilt instellen voor het niet invoeren van de gegevens die niet zijn gewijzigd, kunt u de volgende wijziging in de trigger aanbrengen:
IF(OLD.column_name <> NEW.column_name) THEN
--Your insert query here
ELSE
--NOOP
END IF;
Laat weten of er meer informatie nodig is.