Да, външният ключ е вид ограничение. MySQL има неравномерна поддръжка за ограничения:
PRIMARY KEY:да като ограничение на таблица и ограничение на колона.FOREIGN KEY:да като ограничение на таблицата, но само с InnoDB и BDB машини за съхранение; иначе анализиран, но игнориран.CHECK:анализиран, но игнориран във всички машини за съхранение.UNIQUE:да като ограничение на таблица и ограничение на колона.NOT NULL:да като ограничение на колона.DEFERRABLEи други атрибути на ограничения:няма поддръжка.
CONSTRAINT клаузата ви позволява да наименувате ограничението изрично, за да направите метаданните по-четливи или да използвате името, когато искате да премахнете ограничението. SQL стандартът изисква CONSTRAINT клаузата е незадължителна. Ако го пропуснете, RDBMS създава име автоматично и името зависи от реализацията.