Mas o menos: Es toda restricción definida con un nombre, y cuando le pones el REFERENCES estás intentando crear una FOREIGN KEY, que por definición es una CONSTRAINT. Pero como la estás poniendo incompleta, te da error.
Si le pones el FOREIGN KEY como te lo indico, la CONSTRAINT se creará y MySQL le pondrá un nombre por si mismo.
Quedará algo así como
MySQL completa partes de la sentencia cuando el resto está sintácticamente bien. Pero lo que estás poniendo está mal redactado desde inicio.
La cláusula CONSTRAINT se usa para definir el nombre con el que el objeto FK se creará y no pueden repetirse dentro de la misma base de datos.
Lee el manual de referencia de MySQL antes de seguir (
MySQL AB MySQL 5.0 Reference Manual).