![]() |
![]() |
![]()
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 |
|
|
![]() |
![]()
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.
|
|
|
![]()
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 |
|
|
![]()
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. |
|
|
![]()
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. [; |
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 20:08 |