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

Claves foraneas

Estas en el tema de Claves foraneas en el foro de Mysql en Foros del Web. tengo una consulta sobre claves foraneas..aver el codigo de crear claves foraneas es este: ejemplo: Código PHP: CREATE TABLE cliente (      id_cliente INT NOT NULL ,      nombre VARCHAR ( ...
  #1 (permalink)  
Antiguo 19/09/2012, 05:55
 
Fecha de Ingreso: septiembre-2012
Mensajes: 66
Antigüedad: 11 años, 7 meses
Puntos: 4
Exclamación Claves foraneas

tengo una consulta sobre claves foraneas..aver el codigo de crear claves foraneas es este:

ejemplo:

Código PHP:
CREATE TABLE cliente
(
    
id_cliente INT NOT NULL,
    
nombre VARCHAR(30),
    
PRIMARY KEY (id_cliente)
TYPE INNODB;
 
CREATE TABLE venta
(
    
id_factura INT NOT NULL,
    
id_cliente INT NOT NULL,
    
cantidad   INT,
    
PRIMARY KEY(id_factura),
    
INDEX (id_cliente),
    
FOREIGN KEY (id_clienteREFERENCES cliente(id_cliente)
TYPE INNODB
lo que yo kiero saber..si la tabla cliente esta en otra base de datos?? se podria?

me imagino que seria en :

Código PHP:
FOREIGN KEY (id_clienteREFERENCES cliente(id_cliente
seria REFERENCES BD,cliente(id_cliente) seria asi?? o no es posible??

como aria referencia que es de otra base de datos?

gracias de antemano!
  #2 (permalink)  
Antiguo 19/09/2012, 06:43
Avatar de 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: Claves foraneas

Cita:
si la tabla cliente esta en otra base de datos?? se podria?
No. Deben estar en la misma base, porque la constraint definida pertenece a la misma base.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 19/09/2012, 06:51
 
Fecha de Ingreso: septiembre-2012
Mensajes: 66
Antigüedad: 11 años, 7 meses
Puntos: 4
Respuesta: Claves foraneas

Cita:
Iniciado por gnzsoloyo Ver Mensaje
No. Deben estar en la misma base, porque la constraint definida pertenece a la misma base.
y no se podria poner la constraint k permanezca a otra base?

gracias igualmente por la respuesta!
  #4 (permalink)  
Antiguo 19/09/2012, 11:14
Avatar de 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: Claves foraneas

Hagamos una cosa: Intenta crear la FK en la tabla, indicando la tabla refernciada con base y todo.
Algo como:
Código MySQL:
Ver original
  1. (
  2.     id_factura INT NOT NULL,
  3.     id_cliente INT NOT NULL,
  4.     cantidad   INT,
  5.     PRIMARY KEY(id_factura),
  6.     INDEX (id_cliente),
  7.     FOREIGN KEY (id_cliente) REFERENCES base2.cliente(id_cliente)
Y veamos qué pasa.
Si en las versiones actuales se puede, genial. Sino, tema resuelto.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 19/09/2012, 11:35
 
Fecha de Ingreso: septiembre-2012
Mensajes: 66
Antigüedad: 11 años, 7 meses
Puntos: 4
Respuesta: Claves foraneas

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Hagamos una cosa: Intenta crear la FK en la tabla, indicando la tabla refernciada con base y todo.
Algo como:
Código MySQL:
Ver original
  1. (
  2.     id_factura INT NOT NULL,
  3.     id_cliente INT NOT NULL,
  4.     cantidad   INT,
  5.     PRIMARY KEY(id_factura),
  6.     INDEX (id_cliente),
  7.     FOREIGN KEY (id_cliente) REFERENCES base2.cliente(id_cliente)
Y veamos qué pasa.
Si en las versiones actuales se puede, genial. Sino, tema resuelto.

si k se enlazan..pero no es lo que pensaba..lo que queria era que si pongo el dato en un campo que esta enlazado..que automaticamente se ponga tambien en el mismo campo pero de otra tabla de otra base de datos. seria posible?
  #6 (permalink)  
Antiguo 19/09/2012, 11:37
Avatar de 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: Claves foraneas

Eso no existe en ningún DBMS. Ni en Oracle, DB2, SQL Server o Postgre o lo que sea.
No existe porque eso requiere un INSERT, y no se insertan en automático.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #7 (permalink)  
Antiguo 19/09/2012, 11:49
 
Fecha de Ingreso: septiembre-2012
Mensajes: 66
Antigüedad: 11 años, 7 meses
Puntos: 4
Respuesta: Claves foraneas

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Eso no existe en ningún DBMS. Ni en Oracle, DB2, SQL Server o Postgre o lo que sea.
No existe porque eso requiere un INSERT, y no se insertan en automático.
vale gracias.es lo que queria saber si se podia ;)

team cerrado entonces.

Etiquetas: clave, foreignkey
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 02:52.