Ja, en fremmednøgle er en form for begrænsning. MySQL har ujævn understøttelse af begrænsninger:
PRIMARY KEY:ja som tabelbegrænsning og kolonnebegrænsning.FOREIGN KEY:ja som tabelbegrænsning, men kun med InnoDB- og BDB-lagringsmotorer; ellers analyseret, men ignoreret.CHECK:parset men ignoreret i alle lagringsmotorer.UNIQUE:ja som tabelbegrænsning og kolonnebegrænsning.NOT NULL:ja som kolonnebegrænsning.DEFERRABLEog andre begrænsningsattributter:ingen støtte.
CONSTRAINT klausulen giver dig mulighed for at navngive begrænsningen eksplicit, enten for at gøre metadata mere læsbare eller for at bruge navnet, når du vil droppe begrænsningen. SQL-standarden kræver, at CONSTRAINT klausul er valgfri. Hvis du udelader det, opretter RDBMS automatisk et navn, og navnet er op til implementeringen.