Ja, en främmande nyckel är en typ av begränsning. MySQL har ojämnt stöd för begränsningar:
PRIMARY KEY:ja som tabellbegränsning och kolumnbegränsning.FOREIGN KEY:ja som tabellbegränsning, men bara med InnoDB- och BDB-lagringsmotorer; annars analyseras men ignoreras.CHECK:analyserad men ignorerad i alla lagringsmotorer.UNIQUE:ja som tabellbegränsning och kolumnbegränsning.NOT NULL:ja som kolumnbegränsning.DEFERRABLEoch andra begränsningsattribut:inget stöd.
CONSTRAINT sats låter dig namnge begränsningen uttryckligen, antingen för att göra metadata mer läsbar eller för att använda namnet när du vill ta bort begränsningen. SQL-standarden kräver att CONSTRAINT klausul är valfri. Om du utelämnar det skapar RDBMS ett namn automatiskt, och namnet är upp till implementeringen.