sql >> Database >  >> RDS >> Mysql

Hoe versiebeheer gegevens opgeslagen in mysql

De gebruikelijke methode om "alle wijzigingen bij te houden" aan een tabel is om triggerprocedures voor invoegen/bijwerken/verwijderen aan de tabel toe te voegen en deze records in een geschiedenistabel te bewaren.

Als uw hoofdgegevenstabel bijvoorbeeld "ItemInfo" is, zou u ook een ItemInfo_History-tabel hebben die een kopie van het nieuwe record kreeg telkens als er iets veranderde (via de triggers).

Dit houdt de prestaties van uw primaire tabel consistent, maar geeft u toegang tot de geschiedenis van eventuele wijzigingen als u deze nodig heeft.

Hier zijn enkele voorbeelden, ze zijn voor SQL Server, maar ze demonstreren de logica:

Mijn Repository-tabel Mijn Repository History-tabel Mijn Repository Insert trigger-procedure Mijn triggerprocedure voor het bijwerken van de opslagplaats



  1. Meer online operaties nu beschikbaar - of binnenkort

  2. Is er een .NET-equivalent van SQL Server's newsequentialid()

  3. Java PreparedStatement en ON DUPLICATE KEY UPDATE:hoe weet ik of een rij is ingevoegd of bijgewerkt?

  4. Hoe te voorkomen dat u deelt door nul in MySQL