Ja, een externe sleutel is een soort beperking. MySQL heeft ongelijke ondersteuning voor beperkingen:
PRIMARY KEY:ja als tabelbeperking en kolombeperking.FOREIGN KEY:ja als tabelbeperking, maar alleen met InnoDB- en BDB-opslagengines; anders ontleed maar genegeerd.CHECK:ontleed maar genegeerd in alle opslag-engines.UNIQUE:ja als tabelbeperking en kolombeperking.NOT NULL:ja als kolombeperking.DEFERRABLEen andere beperkingskenmerken:geen ondersteuning.
De CONSTRAINT clausule stelt u in staat om de beperking expliciet een naam te geven, ofwel om metadata leesbaarder te maken, ofwel om de naam te gebruiken wanneer u de beperking wilt laten vallen. De SQL-standaard vereist dat de CONSTRAINT clausule is optioneel. Als je het weglaat, maakt het RDBMS automatisch een naam aan, en de naam is aan de implementatie.