Ver Mensaje Individual
  #4 (permalink)  
Antiguo 11/02/2007, 04:18
Tarzan
 
Fecha de Ingreso: noviembre-2005
Ubicación: Alicante (España)
Mensajes: 242
Antigüedad: 18 años, 5 meses
Puntos: 1
Re: Problema con un Foreign key

He probado lo que me habeis dicho.

He eliminado las tablas y las he vuelto a crear con los ejemplos que indicaba MandrakeXP.

CREATE TABLE Familia(
codFamilia INT NOT NULL,
nombre carchar(15) NOT NULL
PRIMARY KEY (codFamilia)
) ENGINE=INNODB;



CREATE TABLE Articulos(
codArticulo INT NOT NULL,
codFamilia INT NOT NULL,
nombre VARCHAR(30) NOT NULL,
descripcion VARCHAR(100) NOT NULL,
precio FLOAT NOT NULL,
INDEX iCodigoF (codFamilia),
PRIMARY KEY (codArticulo)
FOREIGN KEY (codFamilia)
REFERENCES Familia(codFamilia)
ON DELETE CASCADE
) ENGINE=INNODB;


Las tablas se crean sin problemas y en Articulos aparece un Indice llamado iCodigoF (imagino que tendrá la referencia al campo codFamilia de la tabla Familia).

El problema es que he insertado un registro en la tabla Familia (con idFamilia = 1) y después me permite insertar un registro en la tabla Articulos con idFamilia = 4. ¿Por qué me deja?
Se supone que si me ha aceptado ambas sentencias CREATE con el ENGINE=INNODB es porque lo tengo activado , ¿no?

¿Qué me falta?.

Un Saludo.