Как MySQL руководство по foreign keys indicates, то CONSTRAINT symbol_name
часть синтаксиса ограничений не является обязательным:
[CONSTRAINT [symbol]] FOREIGN KEY
[index_name] (index_col_name, ...)
REFERENCES tbl_name (index_col_name,...)
[ON DELETE reference_option]
[ON UPDATE reference_option]
reference_option:
RESTRICT | CASCADE | SET NULL | NO ACTION
Разница в наименовании внешнего ключа. Как выше связанный документ описывает:
В противном случае MySQL неявно создает внешний ключ индекса, который называется в соответствии со следующими правилами:
• Если определено, используется значение символа CONSTRAINT. В противном случае используется значение index_name FOREIGN KEY.
• Если не указан ни символ CONSTRAINT, ни индекс FOREIGN KEY index_name, , то имя индекса внешнего ключа создается с использованием имени столбца внешнего ключа ключа .