¿Es para mysql? Prueba a crear la clave después de crear la tabla:
Código PHP:
ALTER TABLE desc_prod
ADD CONSTRAINT id_producto_fk FOREIGN KEY (id_producto) REFERENCES producto (id_prod) ON UPDATE CASCADE
Asegúrate de que los nombres de los IDs que vas a relacionar y mencionas en la sentencia sean correctos (en tu código creo que los nombrabas mal). A mi personalmente me gusta darles el mismo nombre a aquellos campos de ID de diferentes tablas que voy a relacionar para evitar problemas y además ser más sencillo o cómodo "a la vista".
Asegúrate también de que ambos campos son del mismo tipo. No te dejará crear una FK entre un campo int y un smallint por ejemplo.
Mira a ver si tienes los dos campos que quieres relacionar como NOT NULL.
Si la relación la haces después de crear la tabla y tienes algún registro metido, comprueba que los valores de los campos que vas a relacionar cumplan con esa relación.
De momento eso sería creo lo más básico a mirar y también el motivo de la mayoría de errores en estos casos.
Un saludo