Chciałbym nagrać ostatniego użytkownika i ostatni razkonkretny wiersz został wstawiony lub zaktualizowany w tabeli MySQL. Jak najlepiej to zrobić? Czy są jakieś metadane MySQL, które mogę zbadać, czy też muszę samodzielnie utworzyć kolumny nazwy użytkownika i znacznika czasu, a następnie utworzyć wyzwalacze, aby je wypełnić?
Odpowiedzi:
1 dla odpowiedzi № 1Musisz samodzielnie utworzyć osobne kolumnyznacznik czasu i nazwa użytkownika. W przypadku znaczników czasu nie ma potrzeby używania wyzwalaczy do aktualizacji jego wartości, wystarczy zadeklarować pole znacznika czasu, aby użyć bieżącego znacznika czasu jako wartości początkowej i wartości aktualizacji:
CREATE TABLE t1 (
ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
Użytkownik jest nieco bardziej interesujący. Jeśli mówisz o użytkowniku na poziomie mysql, to tak, użyj wyzwalaczy lub procedury składowanej za pomocą UŻYTKOWNIK() funkcjonować. Jeśli mówisz o użytkownikach na poziomie aplikacji, podałbym tę nazwę użytkownika jako część instrukcji aktualizacji.
UPDATE table SET username="xxx", ... WHERE ...
0 dla odpowiedzi nr 2
- Możesz użyć kolumny i ustawić domyślną datę systemową wstawiania
- Do aktualizacji musisz użyć wyzwalacza lub etc.
0 dla odpowiedzi № 3
Przynajmniej w MySQL 5.5.46 możesz śledzić tabele. Obejmuje to strukturę i dane. Tam rejestrowana jest nazwa użytkownika i znacznik czasu DB.