Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQL]Dodawanie statystyk w jedym zapytaniu
Forum PHP.pl > Forum > Przedszkole
smietek
Chciałbym stworzyć sobie bardzo prosty system statystyk, miałby się on składać z pól:
ID, miesiac, rok, liczby
I teraz chciałbym zrobić w JEDNYM zapytaniu mniej więcej takie dodawanie:
Jeśli istnieje wpis, w którym pole miesiac i rok są dokładnie takie jak dzisiejsza data, to aktualizuje ten rekord i do pola liczby dodaje wartość 1, ale gdy nie istnieje takie wpis, dodaje nowy i ustawia pole liczby na 1.
Próbowałem z ON DUPLICATE, ale nawet nie miałem pomysłu jak z tym zacząć (gdyby pola miesiac i rok byłyby unikalne, to nie działałoby to jak powinno).

Czy istnieje sposób, żeby złączyć to w jedno zapytanie, czy muszę bawić się w 2 zapytania?
skowron-line
Możesz zrobic selecta i instrukcja warunkowa IF i podzapytanie.
thek
Ale on duplicate zadziała. Tylko trzeba ustawić indeks UNIQUE na będący połączeniem miesiąca i roku. Bo tylko dla PRIMARY i UNIQUE jest sprawdzane czy robić update czy insert. Najlepiej więc nie przechowuj tych pól osobno, ale jako 6(YYYYMM) lub 7-znakowy (YYYY-MM) char i walnij mu przy tym UNIQUE a zadzierga. Nie utrudniaj sobie nic smile.gif
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.