Ver Mensaje Individual
  #2 (permalink)  
Antiguo 12/09/2008, 09:50
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Como meter mas de una llave foranea en una tabla

La forma más simple de agregar claves foráneas (FK) a una tabla es crearlas directamente
Código:
ALTER TABLE recurso 
ADD FOREIGN KEY (id_tipo) REFRENCES tipo (id) 
ON UPDATE CASCADE;
Si lo que quieres es indicar un nombre de índice definido para esa CONSTARINT, lo tienes que definir:

Código:
ALTER TABLE recurso 
ADD CONSTRAINT nombreconstraint FOREIGN KEY (id_tipo) REFRENCES tipo (id) 
ON UPDATE CASCADE;
Las tres condiciones mínimas y básicas para que de resultado son:
1. La tabla referida, debe existir ANTES de hacer esta declaración. Sino dará error.
2. El campo referido DEBE ser clave en su tabla. Existen dos posibilidades: Por default debes ser la PRIMARY KEY, de no existir, se puede usar un campo definido como UNIQUE.
3. Si la tabla referida tiene la clave compuesta, debe existir un campo por cada parte y estar referida TODA la clave.

Fuera de eso, no deberías tener problemas en hacer las FK aunque sean de muchas tablas. Se puede incluso construir tablas relacionales que sólo contienen FKs
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 12/09/2008 a las 10:01