To nie jest rejestrowanie faktycznych aktualizacji SQL. Rejestruje aktualizacje danych. W efekcie będzie przechowywać każdą wersję strony, a po prostu domyślnie dostarczać najnowszą. Kod SQL, który był używany, nie został zapisany.
W ten sposób będziesz musiał przyjąć podobne podejście. Za każdym razem, gdy dane ulegną zmianie, musisz ustalić, w jaki sposób zmieniły się dane, i zapisać dane "łatki". Najprawdopodobniej najlepiej będzie przechowywać najnowszą wersję, a potem trzeba przejść przez wszystkie łatki, aby się do niej dostać. Oznacza to, będzie można zobaczyć coś podobnego
! created file
* added data to cell D4 'product descript' D5 'set of pens' E5 '£5.99'
* added data to cell D6 'toaster' E5 '£10'
& changed data in cell D4 'Product Description'
Każda z tych zmian musiałyby być przechowywane ze znacznikiem czasu lub gdy gdzie zrobić. Będziesz także musiał opracować własny scheeme do przechowywania zmian danych.
Innym prostszym rozwiązaniem jest użycie silnika wiki, który zapewnia wszystkie wymagane funkcje, jeśli chcesz pracować na stronie internetowej. Być może trzeba będzie poświęcić trochę czasu, aby działało lepiej dla twoich potrzeb, pozwalając ludziom edytować go z bardziej skończonego widoku, a nie surowego wiki.
dlaczego nie jest tak: "tabela główna" zawiera tylko tabele 'id' i' version_id' 'version' zawiera wszystkie dane? – Shaheer
Dzięki @Shaheer Spróbuję tego. – Eric
@Shaheer, ponieważ większość zapytań jest sprzeczna z bieżącymi danymi, więc dzielenie historii na oddzielną tabelę zapewnia, że te zapytania nie powodują obniżenia wydajności, ponieważ tabela staje się * n * razy większa. Wielkość * n * zależy od tego, jak często rekordy są aktualizowane. –