Recientemente he estado dándome trompazos con un error al crear claves foráneas (Foreign Key) en Mysql. El error que recibía era el siguiente:
Después de varias comprobaciones llego a la conclusión de que para que se puedan crear las claves foráneas hay que cumplir los siguientes puntos:
- Los campos referenciados entre sí tienen que usar el mismo tipo de datos, de lo contrario no os dejará.
- Ante un CONSTRAINT configurado como «On Delete Set Null» el campo debe permitir Nulos.
- Las claves foráneas solo pueden hacer referencia a un campo PRIMARY KEY o UNIQUE
- Ambas tablas deben ser del mismo tipo y este tipo solo puede ser INNODB.
- Las tablas deben estar en la misma Base de Datos (BD)
- Foreign Key no es válido para tablas temporales.
Espero que os sirva de ayuda para evitar futuros coscorrones contra la pared.
Y si aún no das con la tecla, tienes más info en el siguiente enlace: http://download.nust.na/pub6/mysql/doc/refman/5.0/es/innodb-foreign-key-constraints.html
Logré resolver este error con la información que compartes. Gracias.
Me alegra enormemente Héctor.
Un saludo.
Muchas gracias su información fue de mucha ayuda
Un placer poder ayudar.
Saludos
Buenas, me sirvió mucho la informacion, gracias a ella pude resolver mi problema en mi base de datos, muchas gracias Jorge y saludos.
Genial Juan, me alegro mucho de que se solucionara tu problema.
Un saludo.