Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Claves Primaris y Foraneas

Estas en el tema de Claves Primaris y Foraneas en el foro de Mysql en Foros del Web. bueno aver..necesito saber..como enlazo..dos campos de las tablas..osea..aver..mas bien..que significa enlazar?que se pondra en el mismo dato en ese campo?? pongo un ejemplo.. tengo dos ...
  #1 (permalink)  
Antiguo 20/09/2012, 04:53
 
Fecha de Ingreso: septiembre-2012
Mensajes: 66
Antigüedad: 11 años, 7 meses
Puntos: 4
Claves Primaris y Foraneas

bueno aver..necesito saber..como enlazo..dos campos de las tablas..osea..aver..mas bien..que significa enlazar?que se pondra en el mismo dato en ese campo??

pongo un ejemplo..

tengo dos tablas..

usuarios:

ID_user
Email
etc..

perfil:
ID_perfil
ID_user
name_user
etc..

lo que quiero.. El ID_user de la tabla perfil, sea el mismo que el ID_user de la tabla usuarios..osea..usuarios seria la madre..y perfil el hijo y luego que ID_perfil sea la madre de otra tabla..nose si me explico..

aver e visto..algo de indice y claves primarias y foraneas..pero lo unico k se..es que para foraneas.el campo no puede ser NULL y que tiene k ser InnoDB pero nose como utilizarlo ni nada..se que se hace desde phpmyadmin en vista de relaciones..pero nose como acerlo exactamente ni que sifnificaria..

gracias de antemano.
  #2 (permalink)  
Antiguo 20/09/2012, 10:26
Avatar de antoniopol  
Fecha de Ingreso: agosto-2012
Ubicación: Valladolid
Mensajes: 114
Antigüedad: 11 años, 7 meses
Puntos: 21
Respuesta: Claves Primaris y Foraneas

El significado de crear un campo foreign key a otro es muy sencillo:

Si en la tabla perfil, el campo id_user es foreing key a id_user de la tabla usuarios, quiere decir que solo aceptará valores en ese campo que existan en la tabla usuarios.

Si en la tabla usuarios tienes como id_user: 001, 002 y 003, en la tabla perfil solo podrá tener esos valores el campo id_user.

Para realizar la foreign key es muy sencillo como bien dices, es necesario que sea innoDB, si vas a la pestaña SQL sería la sigueinte sentencia:
Código MySQL:
Ver original
  1. ALTER TABLE perfiles
  2. ADD FOREIGN KEY (ID_user) REFERENCES usuarios(ID_user);
__________________
>> Blog de desarrollo web.
>> @antoniopol06 amante de la Web =D
  #3 (permalink)  
Antiguo 20/09/2012, 10:39
 
Fecha de Ingreso: septiembre-2012
Mensajes: 66
Antigüedad: 11 años, 7 meses
Puntos: 4
Respuesta: Claves Primaris y Foraneas

Cita:
Iniciado por antoniopol Ver Mensaje
El significado de crear un campo foreign key a otro es muy sencillo:

Si en la tabla perfil, el campo id_user es foreing key a id_user de la tabla usuarios, quiere decir que solo aceptará valores en ese campo que existan en la tabla usuarios.

Si en la tabla usuarios tienes como id_user: 001, 002 y 003, en la tabla perfil solo podrá tener esos valores el campo id_user.

Para realizar la foreign key es muy sencillo como bien dices, es necesario que sea innoDB, si vas a la pestaña SQL sería la sigueinte sentencia:
Código MySQL:
Ver original
  1. ALTER TABLE perfiles
  2. ADD FOREIGN KEY (ID_user) REFERENCES usuarios(ID_user);
muchas gracias! te doi karma!

lo e estado aciendo bien entonces y muy bien explicado :) que sirva para los demas tambien :)

Etiquetas: claves, primarias
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:56.