Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Trigger
Forum PHP.pl > Forum > Bazy danych > MySQL
Sebkoo
Witam,
mam pewien problem ze stworzeniem triggera i potrzebuje małej podpowiedzi 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ę axesmiley.png
Z góry dzięki za pomoc smile.gif
bpskiba
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
Sebkoo
Dzięki. Przydała się ta podstrona manuala smile.gif
Coś takiego poskładałem ostatecznie i wykonuje swoją pracę odpowiednio tongue.gif
  1. CREATE TRIGGER `ins_sum` BEFORE INSERT ON `Files`
  2. FOR EACH ROW SET NEW.file_public = 1
phpion
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.
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.