MySQL doskonale obsługuje unikalne ograniczenia.
Nie obsługuje jednak częściowych ograniczeń/indeksów, więc musisz oznaczyć obrazy inne niż podstawowe za pomocą NULL zamiast 0 .
ALTER TABLE file ADD CONSTRAINT ux_file_customer_primary
UNIQUE (customerId, isPrimaryImage)
Możesz wstawić dowolną liczbę NULL wartości do isPrimaryImage ale tylko jedna niezerowa wartość na klienta.