/ / Jak mogę zapisać nazwę użytkownika i znacznik czasu wstawek i aktualizacji wierszy w MySQL? - mysql

Jak mogę zarejestrować nazwę użytkownika i znacznik czasu wstawiania wierszy i aktualizacji w MySQL? - mysql

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 № 1

Musisz 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.