Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL] Wyzwalacz problem z AFTER UPDATE OF content
b4x
post
Post #1





Grupa: Zarejestrowani
Postów: 658
Pomógł: 95
Dołączył: 20.12.2005
Skąd: N54,35° E18,63° (Gdańsk)

Ostrzeżenie: (0%)
-----


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


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
wookieb
post
Post #3





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




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`);



--------------------
Go to the top of the page
+Quote Post
b4x
post
Post #4





Grupa: Zarejestrowani
Postów: 658
Pomógł: 95
Dołączył: 20.12.2005
Skąd: N54,35° E18,63° (Gdańsk)

Ostrzeżenie: (0%)
-----


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 ? :-)


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 18:26