sql >> Database >  >> RDS >> Mysql

Rijversiebeheer voor MySql

Mysql heeft geen ingebouwd rijversiemechanisme. Hoewel het gebruik van een tijdstempeltype misschien OK lijkt, gaat u hier niet in slagen voor query's die meerdere rijen tegelijkertijd bijwerken en langer duren dan de resolutie van de tijdstempel, aangezien de toegewezen waarde is gebaseerd op het begin van de wijziging en niet op het einde van de verandering.

Dus als uw updatequery van invloed is op 100 rijen, hebben alle rijen dezelfde tijdstempel (zeg een waarde van 2015-10-28 09:47:10.123456). Maar het is mogelijk dat de rijen pas klaar zijn met schrijven in 2015-10-28 09:47:10.654321.

Als u afzonderlijk zoekt naar alle gewijzigde rijen op basis van een ander tijdstempel (zeg 2015-10-28 09:47:10.500000), krijgt u niet de gewenste resultaten. En afhankelijk van je code, mis je misschien de 100 gewijzigde rijen.

Het is het feit dat wijzigingen in rijen nu een tijdstempel in het verleden kunnen hebben, dat u niet eenvoudig 2 tijdstempels kunt vergelijken om alle gewijzigde rijen te krijgen.



  1. Trucs voor het uitvoeren van een string in een functie in Sql Server

  2. JPA EclipseLink DatabaseException:'tabel foo.SEQUENCE bestaat niet'

  3. PHP PDO hoe een multiple query request uit te voeren?

  4. Tijdstempel opslaan in mysql-tabel met php