Ver Mensaje Individual
  #3 (permalink)  
Antiguo 06/04/2008, 05:11
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 2 meses
Puntos: 574
Re: problema con alter table

Cita:
Iniciado por under_ground Ver Mensaje
Amigos debo hacer un cambio en 1 tabla (PROPIEDAD) usando un alter table, pero me lanza un error 1216, cannot add or update a child row: a foreign constrain falis.

Mi idea llevar desde la tabla vfciudades hacia vfpropierty las llaves foraneas idCiudad, id_admin, idCreacion

"CIUDADES"

CREATE TABLE vfciudades (
idCiudad INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
id_admin INTEGER UNSIGNED NOT NULL,
idCreacion INTEGER UNSIGNED NOT NULL,

nombre VARCHAR(100) NULL,
PRIMARY KEY(idCiudad, id_admin, idCreacion),
INDEX vfciudades_FKIndex1(idCreacion, id_admin),
FOREIGN KEY(idCreacion, id_admin)
REFERENCES vfpaises(idCreacion, id_admin)
ON DELETE NO ACTION
ON UPDATE NO ACTION
)
TYPE=InnoDB;

"PROPIEDAD"

CREATE TABLE vfpropierty (
idProp INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
id_admin INTEGER UNSIGNED NOT NULL,
nombreEsp VARCHAR(200) NULL,
nombreIng VARCHAR(200) NULL,
descriEsp MEDIUMTEXT NULL,
can_personas INTEGER(2) UNSIGNED NULL,
can_dormitorio INTEGER(2) UNSIGNED NULL,
PRIMARY KEY(idProp, id_admin),
INDEX VFPropierty_FKIndex1(id_admin),
FOREIGN KEY(id_admin)
REFERENCES VFAdmin(id_admin)
ON DELETE NO ACTION
ON UPDATE NO ACTION,

)
TYPE=InnoDB;

Esta es la sentencia que ejecuto

ALTER TABLE `vf`.`vfpropierty` ADD CONSTRAINT `FK_vfpropierty_2`
FOREIGN KEY `FK_vfpropierty_2` (`idCiudad`, `id_admin`, `idCreacion`)
REFERENCES `vfciudades` (`idCiudad`, `id_admin`, `idCreacion`)

idCiudad y idCreacion no estan en vfpropierty luego es imposible hacer una FK con esos campos...

Y si estuvieran porsupuesto deberia cumplirse la integridad referencial como te dice Carxl.

Quim