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.DEFERRABLE
og 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.