Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Ograniczenie powtarzalności do określonej liczby
Forum PHP.pl > Forum > Bazy danych > MySQL
lukaszc89
Mam pewien problem z ograniczeniem tabeli.
Stworzyłem 3 tabele, towar_tab, klient_tab, zam_tab
i w tabeli zam_tab istenieją takie pola:

zam_id (PK)
zam_towar_id (FK)
zam_klient_id (FK)

Szukałem w sieci, ale nie wiem dokładnie jak określić problem.

A mianowicie chciałbym, aby dany klient mógł tylko zamawiać 3 razy, w tabeli zam_tab. (czyli zam_klient_id moze byc tylko 3 razy użyty dla tej samej wartości klucza FK).
oraz, aby nie mogł zamawiać tego samego towaru 2x lub 3x.

Czy jest jakiś sposób abym mogł to ograniczyć. W sql server managment studio, ewentualnie w kodzie?
trafas
Możesz przed udostępnieniem modułu zamówienia sprawdzać ilość zamówień na danego klienta count().
Chociaż przy dużej liczbie zamówień może się z tego zrobić kosztowne zapytanie.

Ewentualnie możesz dorobić tabelę z id_klient, ilosc_zam. I tutaj możesz aktualizować wartość ilosc_zam po każdym dodaniu zamówienia danego klienta oraz sprawdzać tą wartość dla danego klienta przed udostępnieniem formularza zamówienia.

Z towarem możesz podobnie kombinować.
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.