Dodanie czasu modyfikacji rekordu

Dodanie czasu modyfikacji rekordu
DD
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 17
0

Witam, mam takie problem.
Mam tabele w MySQLu gdzie przechowywane jest kilka wartości dwie z nich to add_time oraz modify_time

Kolumna add_time ma zadeklarowaną wartość domyślną CURRENT_TIMESTAMP czyli wklejany jest czas dodania rekordu.

Problem robi się z kolumną modify_time po nowych zmianach MySQLu nie można mieć w jednej tabeli dwóch wartości CURRENT_TIMESTAMP oraz nie można korzystać z atrybutu ON UPDATE CURRENT_TIMESTAMP.
Stworzyłem także TRIGGERa który by po zmianie rekordu wstawiał aktualny czas niestaty również MySQL nie pozwala na to.

Jak w takim razie dodać czas modyfikacji rekordu?

bogdans
  • Rejestracja: dni
  • Ostatnio: dni
0

A takie rozwiązanie: tylko modify_time jest CURRENT_TIMESTAMP, a TRIGGER (po INSERT) kopiuje z pola modify_time do add_time.

DD
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 17
0

W twoim propozycji te dwa pola będą takie same. A moim zamysłem jest aby po kazdym UPDEJCIE data w polu modify_time była aktualizowana

DD
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 17
0
Kopiuj
CREATE  TRIGGER `modify_time` 
AFTER INSERT ON `dane` FOR EACH ROW 
BEGIN
	UPDATE university SET add_time = modify_time;
END 

Mam cos takigo ale niestety przy INSER wywala mi błąd

AN
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 41
0

Jaki błąd?

XI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 245
0
DerekDX napisał(a):
Kopiuj
CREATE  TRIGGER `modify_time` 
AFTER INSERT ON `dane` FOR EACH ROW 
BEGIN
	UPDATE university SET add_time = modify_time;
END 

Mam cos takigo ale niestety przy INSER wywala mi błąd

UPDATE bez WHERE'a to nie jest dobry pomysł.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.