Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Trigger
Sebkoo
post
Post #1





Grupa: Zarejestrowani
Postów: 37
Pomógł: 0
Dołączył: 2.02.2009

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


Witam,
mam pewien problem ze stworzeniem triggera i potrzebuje małej podpowiedzi (IMG:style_emoticons/default/smile.gif)
Trigger ma edytować kolumnę "file_public" z tabeli "Files" i ustawiać wartość 1 w momencie gdy dla "file_public" wartość wynosi 0.
Ma to działać tylko dla nowych rekordów dodanych do bazy.
Trigger który poskładałem nie dawał rady tego wykonać i do tego wysypywało mi po nim stronę (IMG:style_emoticons/default/axesmiley.png)
Z góry dzięki za pomoc (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
bpskiba
post
Post #2





Grupa: Zarejestrowani
Postów: 340
Pomógł: 49
Dołączył: 3.07.2009
Skąd: Rzeszów

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


a gdzie tkwi problem?? Pokaż kod....
Na stronie http://dev.mysql.com/doc/refman/5.0/en/trigger-syntax.html jeden z przykładów jest rozwiązaniem tego zadania. Wystarczy zmienić nazwy kolumn
Go to the top of the page
+Quote Post
Sebkoo
post
Post #3





Grupa: Zarejestrowani
Postów: 37
Pomógł: 0
Dołączył: 2.02.2009

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


Dzięki. Przydała się ta podstrona manuala (IMG:style_emoticons/default/smile.gif)
Coś takiego poskładałem ostatecznie i wykonuje swoją pracę odpowiednio (IMG:style_emoticons/default/tongue.gif)
  1. CREATE TRIGGER `ins_sum` BEFORE INSERT ON `Files`
  2. FOR EACH ROW SET NEW.file_public = 1
Go to the top of the page
+Quote Post
phpion
post
Post #4





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Twój trigger z założenia przypisuje wartość 1 nie sprawdzając czy jest tam 0. Jeśli to działanie zamierzone to może warto skorzystać z opcji domyślnej wartości dla pola? Jeśli jednak ktoś jawnie pod wartość np. 2 to taka wartość trafi do bazy, a nie 1. Jeśli chcesz wymusić by dla nowych rekordów zawsze było 1 to trigger jest odpowiednim rozwiązaniem.
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: 22.08.2025 - 15:59