Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] Wyzwalacz problem z AFTER UPDATE OF content
Forum PHP.pl > Forum > Przedszkole
b4x
Witam mam problem z wyzwalaczem - może ktoś mnie nakierować co jest nie tak?

  1. CREATE OR REPLACE TRIGGER historia_zmian_strony
  2. AFTER UPDATE OF content ON page_contents
  3. BEGIN
  4. INSERT INTO page_content_histories(`page_content_id`, `user_id`, `date`, `edit_date`, `content`, `status`) VALUES (OLD.page_id, OLD.user_id, OLD.date, OLD.modified, OLD.content, OLD.STATUS);
  5. END;
  6. /
nospor
Cytat
Witam mam problem z wyzwalaczem
Byłoby nad wyraz miło z Twojej strony, jakbyś napisał jakiż to masz konkretnie problem..
Czy naprawdę mamy sami się zastanawiać, czy tym problemem może jest to, że np. moczy się w nocy? tongue.gif
wookieb
Ja spróbuję zgadnąć choć tyle
  1. INSERT INTO page_content_histories(`page_content_id`, `user_id`, `date`, `edit_date`, `content`, `status`) VALUES (OLD.page_id, OLD.user_id, OLD.date, OLD.modified, OLD.content, OLD.`status`);

b4x
Dobra poradziłem sobię w MySQL'u - chyba nie istnieje coś takiego jak: UPDATE OF (chciałem tym osiągnąć, by po aktualizacji content w tabeli page_contents, dodawało mi do bazy 'kopię' starej wersji.

Zrobiłem to w następujący sposób:

  1. DROP TRIGGER IF EXISTS `historia_zmian_strony`;
  2. DELIMITER //
  3. CREATE TRIGGER `historia_zmian_strony` AFTER UPDATE ON `page_contents`
  4. FOR EACH ROW BEGIN
  5. IF NEW.content != OLD.content THEN
  6. INSERT INTO page_content_histories (`page_content_id`, `user_id`, `date`, `edit_date`, `content`, `status`) VALUES (OLD.page_id, OLD.user_id, OLD.date, OLD.modified, OLD.content, OLD.STATUS);
  7. END IF;
  8. END
  9. //
  10. DELIMITER


IF NEW.content != OLD.content THEN - no chyba że można inaczej zrobić to, lepiej, i bardziej wydajniejsze ? :-)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.