Ver Mensaje Individual
  #2 (permalink)  
Antiguo 26/02/2016, 10:53
Avatar de Libras
Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 7 meses
Puntos: 774
Respuesta: Problema con clave foranea

Lo que pasa es que tu primer tabla tiene 2 campos como llave primaria y tu quieres hacer la FK solo usando un campo, ahora en las tablas que mandas veo algunas cosas:
Código MySQL:
Ver original
  1. create table proveedor (
  2. id_prove varchar(8) NOT NULL,
  3. nombre varchar(50),
  4. DNI varchar(10),
  5. cod_reparto int(5) NOT NULL,
  6. tipo_reparto varchar(50),
  7. fecha_entrega date,
  8. PRIMARY KEY (id_prove, cod_reparto)

Aqui porque la llave primaria es una llave compuesta? si en la segunda tabla tienes que cod_reparto sea una llave primaria no veo la necesidad de tener la llave compuesta en la primer tabla

Crea tu primer tabla solo con una llave primaria:


Código MySQL:
Ver original
  1. create table proveedor (
  2. id_prove varchar(8) NOT NULL,
  3. nombre varchar(50),
  4. DNI varchar(10),
  5. cod_reparto int(5) NOT NULL,
  6. tipo_reparto varchar(50),
  7. fecha_entrega date,
  8. PRIMARY KEY (id_prove)
Y despues crea la segunda tabla con la referencia que tienes y veras que ahora si va a funcionar :)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me