04/05/2011, 16:40
|
| Moderador criollo | | Fecha de Ingreso: noviembre-2007 Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años, 2 meses Puntos: 2658 | |
Respuesta: ¿relacionar tablas en mysql? Son conceptos diferentes. MySQL crea indices para administrar las FK, pero no son índices comunes. Sólo los usa para mantener la integridad y la relación, pero no se pueden invocar.
Por su lado, las FK (mira el link), deben forzosamente estar referidas a la PK de la otra tabla, o en su defecto a una clave candidata, caso en el cual esa clave debe haber sido definida como índice UNIQUE. No se puede hacer una FK que apunte a un campo o conjunto de campos que no sean PK o UNIQUE.
Además, las FK tienen otro requisito fundamental: Si son numéricas, deben ser del mismo tipo y rango que la PK de origen, si son te texto (CHAR o VARCHAR), deben ser de la misma longitud y CHARSET y COLLATION, si son de fecha y hora, deben ser del mismo tipo de dato, y si son compuestas, deben declararse todos sus campos en bloque, en el mismo orden y del mismo tipo de datos que su PK de origen.
¿Se entiende?
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |