Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MYSQL] Insert/Update rekordu
Forum PHP.pl > Forum > Przedszkole
Eagle
Witam

Mam tabelę z 3 polami
Kod
uzytkownik, ankieta, opcja

uzytkownik - int
ankieta - int
opcja - enum 'a', 'b', 'c', 'd', 'e'

W każdej ankiecie użytkownik w dowolnym momencie może zmienić swój wybór.

Potrzebuje zrobić aktualizację lub wstawić nowy rekord (jedno zapytanie (bez sprawdzania czy istnieje już rekord))
Próbowałem bawić się z REPLACE i ON DUPLICATE KEY UPDATE jednak przy aktualizacji były tworzone nowe rekordy (nie ukrywam zdziwienia).

W zapytaniu mogę użyć (Id)użytkownika, (Id)ankiety oraz nowej odpowiedzi

Mam nadzieje że jasno napisałem :]

Jakieś podpowiedzi ?

Pozdrawiam
Fifi209
Jedyne co mi przychodzi do głowy (a śpiący jestem) to trigger'y.
tomekpl
Nie wiem czy o to ci chodzi:
UPDATE FROM table FROM opcja='$opcja' WHERE uzytkownik='$user_id'

Dlaczego nie masz rekordu id(auto_increment) ?
Eagle
@fifi209
Nawet nie wiem czy mogę tworzyć triggery

@tomekpl
Z tym update zmienię wartość wszystkich ankiet w których głosowałem.

Nie mam auto_increment bo wydaje się być zbędny.
erix
Cytat
i ON DUPLICATE KEY UPDATE jednak przy aktualizacji były tworzone nowe rekordy (nie ukrywam zdziwienia).

Żeby to zadziałało, to musisz mieć indeks typu unique, więc się nie dziw. [;
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.