MySQL trigger registrazione di controllo basato con i confronti
-
22-08-2019 - |
Domanda
Nel guardare simili domande come:
Ottenere grilletto per inserire i valori di colonna modificati solo nella tabella di controllo
Strategie registrazione di controllo
Vorrei prendere questo un ulteriore passo avanti e confrontare i dati aggiornati per vedere se effettivamente è stato aggiornato ... Non sono sicuro se questo è l'ideale (prestazioni saggio).
Sfondo:
Abbiamo alcuni dati che viene periodicamente aggiornato dall'utente.
Quando questi dati vengono aggiornati, vorrei confrontare ciò che hanno presentato con ciò che è già lì e quello che hanno presentato, per assicurarsi che non vi sia stato un cambiamento.
Se c'è stato un cambiamento, passare a scrivere una voce di controllo alla tabella di cronologia di controllo centrale che presenta i settori cambiati.
Pensieri / idee? Ho fatto del mio meglio per cercare, ma non ho avuto un sacco di fortuna. Sarò felice di cancellare questa domanda se si tratta di un duplicato.
Grazie!
Soluzione
Si potrebbe scrivere un BEFORE UPDATE
grilletto cui si usa il OLD
e NEW
alias nel vostro trigger per confrontare i valori che erano disponibili nel record prima che l'aggiornamento con i valori che si sta aggiornando con. A seconda del risultato del confronto è possibile scrivere una voce alla tua tabella di controllo.