Trigger w MySql nie działa.

0

Gdy dodaje ten wyzwalacz nie chce mi dodać użytkownika do bazy, wie ktoś co może być powodem?

create trigger user_create
  before insert
  on user
  for each row
BEGIN
  INSERT INTO user
  (createDate
  )
    values (sysdate());

END;
0

Pewnie wyzwalacz się wywala...
Pewnie nie wiesz, co on robi...
To, co chcesz zrobić robi się za pomocą defaulta.

0

Pewnie, że nie wiem co on robi :)
Czyli nie ma możliwości zrobić tego wyzwalaczem?

1

Zdefiniuj pole w tabeli user jako createDate TIMESTAMP not null DEFAULT CURRENT_TIMESTAMP()

0

Głównie chodzi mi właśnie o użycie wyzwalacza, bo chcę ogarnąć jak to działa a na necie znalazłem bardzo podobny przykład do tego co zrobiłem.

Masz może pomysł do czego go mogę użyć? Jest sens np. mieć jakąś zmienną w tabeli powiedzmy last_update i dodawać do tego aktualną datę?

0

W momencie kiedy masz element który może być edytowany. Np wystawiasz faktury i chcesz wiedzieć dla kogo się już przeprocesowalo a dla kogo nie. Robisz sobie tabelkę gdzie pakujesz id osoby i flagę last update, gdzie triggerem edytujesz date datę po każdym insercie w tabeli faktur. Potem sprawdzasz czy last update wskazuje odpowiednią datę.

1 użytkowników online, w tym zalogowanych: 0, gości: 1