Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MYSQL] Insert/Update rekordu
Eagle
post
Post #1





Grupa: Zarejestrowani
Postów: 170
Pomógł: 14
Dołączył: 16.03.2007

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
Fifi209
post
Post #2





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Jedyne co mi przychodzi do głowy (a śpiący jestem) to trigger'y.


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
tomekpl
post
Post #3





Grupa: Zarejestrowani
Postów: 134
Pomógł: 5
Dołączył: 9.08.2008
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


Nie wiem czy o to ci chodzi:
UPDATE FROM table FROM opcja='$opcja' WHERE uzytkownik='$user_id'

Dlaczego nie masz rekordu id(auto_increment) ?

Ten post edytował tomekpl 21.07.2009, 01:45:19
Go to the top of the page
+Quote Post
Eagle
post
Post #4





Grupa: Zarejestrowani
Postów: 170
Pomógł: 14
Dołączył: 16.03.2007

Ostrzeżenie: (0%)
-----


@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.
Go to the top of the page
+Quote Post
erix
post
Post #5





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




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. [;


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 19:47