Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL] Wyzwalacz problem!
Tomek11
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 25.08.2011

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


Witam szanowne grono

Mam mały problem z wyzwalaczem, otóż tak, mam dwie tabele: "dziennik" oraz "tabela1" Na tabeli dziennik będzie robiony cały czas UPDATE a do tabeli "tabela1' będzie wstawiane to co było w tabeli "dziennik". Zrobiłem prosty wyzwalacz, lecz nie działa (występuje błąd):

  1. CREATE TRIGGER testowy BEFORE UPDATE ON dziennik
  2. FOR EACH
  3. ROW BEGIN
  4. INSERT INTO tabela1( id, komunikat, numer )
  5. VALUES (NULL , NEW.komunikat, NEW.id);
  6.  
  7. END;


Komunikat o błędzie
"#1064 - Something is wrong in your syntax obok '' w linii 5 "

Problem polega w tym, że za bardzo nie wiem gdzie może być błąd w tej składni, bo go nie widze. Wzorowałem się na http://dev.mysql.com/doc/refman/5.1/en/create-trigger.html

Z góry dziękuje za chociażby drobna pomoc (IMG:style_emoticons/default/smile.gif)

Ten post edytował Tomek11 25.08.2011, 07:28:07
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
mortus
post
Post #2





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

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


Zauważ, że wywołujesz TRIGGER-a przed UPDATE-m (BEFORE UPDATE). Jak zatem chcesz pobrać wartość z nowego rekordu (NEW) skoro jeszcze tego nowego rekordu nie ma. Chyba powinieneś posłużyć się "starym" rekordem (OLD), czyż nie?
Go to the top of the page
+Quote Post
Tomek11
post
Post #3





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 25.08.2011

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


Rzeczywiście powinienem się posługiwać starym rekordem, ale tez nie chce działać i nie wiem w czym jest problem :/
Go to the top of the page
+Quote Post
luckyps
post
Post #4





Grupa: Zarejestrowani
Postów: 153
Pomógł: 41
Dołączył: 28.06.2011
Skąd: Częstochowa

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


krotki tutorialik before update trigger
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.08.2025 - 20:12