MySQL understøtter perfekt unikke begrænsninger.
Det understøtter dog ikke delvise begrænsninger/indekser, så du skal markere ikke-primære billeder med en NULL i stedet for 0 .
ALTER TABLE file ADD CONSTRAINT ux_file_customer_primary
UNIQUE (customerId, isPrimaryImage)
Du kan indsætte et vilkårligt antal NULL værdier i isPrimaryImage men kun én ikke-nul værdi pr. kunde.