Hola,
Primero, no es una pregunta de PHP, es una de SQL.
Segundo, no dices la base de datos ni el tipo de tablas. Se puede deducir que es MySQL, pero no dices si es una tabla ISAM, INNODB o alguna otra de las que soporta MySQL. Tampoco dices la version.
Si lees el manual oficial de MySQL en
www.mysql.com veras que versiones de MySQL no soportan integridad referencial, aunque tolere la sintaxis por motivos de compatibilidad.
Saludos.