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.