Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/04/2013, 13:57
javiinet
 
Fecha de Ingreso: marzo-2012
Mensajes: 45
Antigüedad: 12 años, 1 mes
Puntos: 0
no puedo añadir clave foranea

Hola. No entiendo esto.
Sean dos tablas
Código MySQL:
Ver original
  1. create table EDITORIAL(
  2.    codEditorial   int(4),
  3.    nombre        varchar(25),
  4.    constraint pkEditorial PRIMARY KEY (codEditorial));
Código MySQL:
Ver original
  1. create table LIBRO (
  2.    codLibro   int(4),
  3.    titulo        varchar(25),
  4.    codEditorial   int(4),
  5.    constraint pkLibro PRIMARY KEY (codLibro));

Si a posteriori quiero crear una clave foránea con

Código MySQL:
Ver original
  1. alter table LIBRO add constraint FKLibro foreign key(codEditorial) references EDITORIAL(codEditorial);
funciona sin problemas...

pero sin haber hecho lo último y si antes he metido datos en ambas tablas y luego intento hacer la instrucción anterior para crear la clave foránea dá error ¿porqué? No violo ninguna restricción ¿no?

Gracias gente.

Última edición por gnzsoloyo; 13/04/2013 a las 16:06 Razón: Mal etiquetado