Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL]INSERT lub UPDATE wartości unikalne
Forum PHP.pl > Forum > Przedszkole
szybki
tabela z polami, id(piramy key), user_id, msg_id, status

Chciałbym zrobić update statusu po odczytaniu wiadomości dla konkretnego użytkownika, coś w rodzaju tematów na forum.

  1. INSERT INTO pr_status (user_id, msg_id, STATUS) VALUES (1, 12, 0) ON DUPLICATE KEY UPDATE STATUS=1


Jednak na jakie pole ustawić unique? Wiadomości może być dużo, a użytkowncy moga odpowiadać w różnych tematach, więc... user_id i msg_id mogą się powtarzać.
SmokAnalog
Jeśli chcesz tu założyć indeks UNIQUE, co popieram, powinien to być indeks zbiorowy. Unikalność obejmuje tu parę kolumn (user_id, msg_id), a nie pojedynczą kolumnę:

  1. ALTER TABLE `pr_status` ADD UNIQUE `pr_status_user_id_msg_id_unique` (`user_id `, `msg_id`);
Pyton_000
Ja bym w tym przypadku olał tworzenie ID i zastosował PK zbiorowy z (user_id, msg_id)
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.