MySQL stöder perfekt unika begränsningar.
Det stöder dock inte partiella begränsningar/index, så du måste markera icke-primära bilder med en NULL istället för 0 .
ALTER TABLE file ADD CONSTRAINT ux_file_customer_primary
UNIQUE (customerId, isPrimaryImage)
Du kan infoga ett godtyckligt antal NULL värden till isPrimaryImage men endast ett icke-nullvärde per kund.