[SQL]Problem z zapytaniem


(Grzesie K) #1

Witam, mam problem z zapytaniem SQL. Mam tabele z polami klient,produkt,ilość_zamówień oraz skrypt, który generuje te dane (ok 700-800 wierszy jednocześnie). Chciałbym napisać SQL, który doda wiersz z danymi lub też powiększy o jeden liczbę zamówień jeżeli w bazie znajdują się takie same dane w klient oraz produkt. Wcześniej do takich celów używałem ON DUPLICATE KEY UPDATE lecz teraz nie mam jednego unikatowego klucza. Mógłbym co prawda utworzyć pole id jako klucz, które łączyło by dane z klient oraz produkt ale może jest na to lepszy sposób. Jakieś propozycje?


(Xwars) #2

Powinieneś mieć jako primary key oba pola klient i produkt. Wszystko co nie używa "on duplicate" wygląda 2 razy gorzej :slight_smile:


(Grzesie K) #3

2x primary key? A czy to na pewno jest wykonywalne? MySQL od razu zwraca błąd.

Edit:

Team do zamknięcia. Rozwiązanie:

ALTER TABLE `tabela` ADD UNIQUE (`klient`,`produkt`)