Post
#1
|
|
|
Grupa: Developerzy Postów: 823 Pomógł: 12 Dołączył: 18.12.2005 Ostrzeżenie: (0%)
|
Witam,
posiadam tabelę cms_news, cms_news_categories oraz cms_news_categories_handler (wiążącą newsa z kategorią). Chciałbym utworzyć trigger zmieniający wartość pola cat_meta_count w tabeli cms_news_categories na ilość aktywnych powiązań newsów z daną kategorią - w skrócie - ile jest newsów w kategorii, do której dodaje powiązanie. Próbowałem czegoś takiego:
Niestety, na SELECT COUNT jest syntax error. Innym rozwiązaniem jest dodanie jedynki do aktualnego stanu liczby newsów w kategorii:
Tu z kolei otrzymuję komunikat: Cytat #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 4 Delimiter nie pomaga. Przykład jest dosłownie zerżnięty (kolokwialnie ujmując) z manuala. Z góry dzięki za pomoc, Athlan. |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%)
|
Drugi trigger wygląda jak najbardziej prawidłowo. Zauważ tylko, że używasz niewłaściwych kolumn w warunku WHERE. Wydaje mi się, że w tabeli cms_news_categories_handler zapisujesz na pewno identyfikator kategorii (handler_cat), tymczasem w warunku WHERE nie porównujesz tego z kluczem głównym (identyfikatorem kategorii) z tabeli cms_news_categories, ale porównujesz z liczbą powiązanych z daną kategorią artykułów (cat_meta_count). Gołym okiem widać, że coś jest nie tak.
|
|
|
|
Athlan TRIGGER zliczający rekordy 9.05.2010, 13:48:45
Crozin CytatNiestety, na SELECT COUNT jest syntax error.W... 9.05.2010, 14:33:05
mortus Tyle, że w pierwszym podanym przez Ciebie triggerz... 9.05.2010, 14:36:23
Athlan Cześć,
po małych modyfikacjach zapytania:
[SQL] p... 9.05.2010, 19:26:07
Mchl No to coś źle pamiętasz.
http://dev.mysql.com/doc/... 10.05.2010, 08:48:11
Athlan Świetnie, działa. Dla przyszłych pokoleń: nie zapo... 10.05.2010, 08:56:52 ![]() ![]() |
|
Aktualny czas: 28.12.2025 - 21:52 |