![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 229 Pomógł: 34 Dołączył: 7.12.2008 Skąd: Poznań Ostrzeżenie: (0%)
|
Witam,
kieruję do bazy następujące zapytanie:
Dodatkowo mam założone UNIQUE na (message_id, user_id). Jest to zapytanie oznaczające wszystkie wiadomości w danym kanale jako przeczytane. Wszystko działa fajnie do czasu kiedy w bazie jest już unikatowa para (message_id, user_id). Wtedy co naturalne serwer wyrzuca błąd. I teraz moje pytanie: czy da się jakoś zgrabnie to obejść bez uprzedniego sprawdzania czy podane wartości są już w bazie? W MySQL jest ON DUPLICATED KEY. Niestety w postgresie nic takiego nie znalazłem. Pozdrawiam |
|
|
|
Post
#2
|
|
|
Administrator serwera Grupa: Developerzy Postów: 521 Pomógł: 13 Dołączył: 2.04.2004 Skąd: 52°24' N 16°56' E Ostrzeżenie: (0%)
|
Coś mi śmierdzi w Twojej wypowiedzi. Jak masz klucz UNIQUE na dwóch kolumnach, to niemożliwe jest, byś posiadał w tabeli dwa lub więcej rekordów z powtórzoną kombinacją jednego z nich, bądź obu na raz (zajrzałbym tutaj, a także przeczytałbym jeszcze to ze szczególnym uwzględnieniem punktu 11.8) (IMG:style_emoticons/default/smile.gif)
|
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 229 Pomógł: 34 Dołączył: 7.12.2008 Skąd: Poznań Ostrzeżenie: (0%)
|
Wiadomości wyświetlam w 2 miejscach. W sidebarze i w widoku całego kanału. Przy czym w sidebarze widoczne są tylko nieprzeczytane wiadomości, a w widoku kanału można przeczytać wszystkie wiadomości (nawet jeśli były wcześniej oznaczone jako przeczytane) należące do danego kanału. Dodatkowo w sidebarze można oznaczyć konkretną wiadomość jako przeczytaną, a w widoku kanału mam dodatkowo przycisk "Oznacz wszystkie jako przeczytane", który wywołuje zapytanie z mojego wcześniejszego postu i powoduje błąd, bo w tabeli messages_users są już wcześniej przeczytane w sidebarze wiadomości (IMG:style_emoticons/default/smile.gif)
|
|
|
|
![]() ![]() |
|
Aktualny czas: 10.06.2026 - 06:57 |