Ver Mensaje Individual
  #4 (permalink)  
Antiguo 22/06/2010, 22:36
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, 5 meses
Puntos: 2658
Respuesta: error al crear tablas en mysql 5 modo consola

Declarar algo como FK no hace que el valor de la tabla origen se transfiera automáticamente. Eso no existe. Sólo sirve para asegurar la integridad referencial de los datos.
La tarea de poner esos datos en sus respectivas tablas es tuya, en la aplicación, en el mismo modo en que pusiste esos valores en su tabla origen...
Respecto a la sintaxis de una FK que apunta a una PK compuesta de más de un campo, bueno, la solución es obvia: Creas la FK de la misma forma en que definiste la PK... Poniendo los campos implicados en el mismo orden dentro del paréntesis...

Código MySQL:
Ver original
  1. CONSTRAINT FK_fact_nohab FOREIGN key (num_hab, id_c)
  2. REFERENCES habitacion(num_hab, id_c)
Obviamente, para que esto funcione debe existir el campo id_c dentro de la tabl adonde usas la FK.

Pero estos son temas de manual...
¿Por qué no lees mejor el manual para asegurarte de los detalles? Es el mejor consejo, porque sino te la vas a pasar posteando preguntas que salen todas de allí: 13.1.5. Sintaxis de CREATE TABLE
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)