Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Wersjonowanie wierszy dla MySql

Mysql nie ma wbudowanego mechanizmu rowversioningu. Chociaż użycie typu znacznika czasu może wydawać się OK, popełnisz ten błąd w przypadku zapytań, które aktualizują wiele wierszy jednocześnie i trwają dłużej niż rozwiązanie znacznika czasu, ponieważ przypisana wartość jest oparta na początku zmiany, a nie na końcu zmiana.

Jeśli więc zapytanie aktualizujące dotyczy 100 wierszy, wszystkie wiersze będą miały tę samą sygnaturę czasową (powiedzmy wartość 2015-10-28 09:47:10.123456). Ale możliwe jest, że pisanie wierszy nie zostanie zakończone do 28.10.2015 r. 09:47:10.654321.

Jeśli osobno szukasz wszystkich zmienionych wierszy na podstawie innego znacznika czasu (powiedzmy 2015-10-28 09:47:10.50000), nie uzyskasz pożądanych wyników. W zależności od kodu możesz pominąć 100 zmienionych wierszy.

Faktem jest, że zmiany w wierszach mogą teraz mieć znacznik czasu w przeszłości, którego nie można po prostu porównać 2 znaczników czasu, aby uzyskać wszystkie zmienione wiersze.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak mogę użyć instrukcji „Sprawdź”, aby sprawdzić poprawność wartości pola w mysql?

  2. Zainstaluj MySQL na Ubuntu 14.04

  3. Wstaw do bazy danych (mysql) za pomocą Ajax i PHP

  4. Formatowanie daty do formatu czytelnego dla człowieka

  5. Czy możesz zaufać mysql_insert_id?