MySQL ondersteunt perfect unieke beperkingen.
Het ondersteunt echter geen gedeeltelijke beperkingen/indexen, dus u zou niet-primaire afbeeldingen moeten markeren met een NULL in plaats van 0 .
ALTER TABLE file ADD CONSTRAINT ux_file_customer_primary
UNIQUE (customerId, isPrimaryImage)
U kunt een willekeurig aantal NULL . invoegen waarden in isPrimaryImage maar slechts één niet-null-waarde per klant.