
06/06/2015, 15:45
|
| | Fecha de Ingreso: mayo-2003
Mensajes: 194
Antigüedad: 21 años, 10 meses Puntos: 4 | |
problemas con FOREIGN KEY hola amigos tengo un problema con un FOREIGN KEY que no lo coge.
tengo una tabla llamada avisos y tres FOREIGN KEY apuntando hacia otras tablas, los dos primeros los coge bien pero el de codigo_imagen no lo coge y lo tengo puesto como los otros dos anteriores.
FOREIGN KEY (`codigo_tec` )
REFERENCES `rtp`.`tecnicos` (`codigo_tec` )
ON DELETE CASCADE
ON UPDATE CASCADE,
CONSTRAINT `fk_avi_cod_cli`
FOREIGN KEY (`codigo_cli` )
REFERENCES `rtp`.`clientes` (`codigo_cli` )
ON DELETE CASCADE
ON UPDATE CASCADE,
CONSTRAINT `img`
FOREIGN KEY (`codigo_imagen` )
REFERENCES `rtp`.`imagenes` (`codigo_imagen` )
ON DELETE CASCADE
ON UPDATE CASCADE)
aqui os pongo la tabla completa a ver si me podeis ayudar:
-- Table `rtp`.`avisos`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `rtp`.`avisos` (
`codigo_avi` INT NOT NULL AUTO_INCREMENT ,
`fecha_avi` DATE NOT NULL ,
`hora_avi` TIME NULL ,
`codigo_cli` INT NOT NULL ,
`servicio` VARCHAR(300) NULL ,
`urgente` VARCHAR(45) NULL ,
`reparacion` VARCHAR(300) NULL ,
`fecha_cita` DATE NULL ,
`hora_cita` TIME NULL ,
`importe_factura` INT NULL ,
`mano_de_obra` INT NULL ,
`materiales` INT NULL ,
`precios_tecnico` INT NULL ,
`precio_2` INT NULL ,
`precio_3` INT NULL ,
`codigo_tec` INT NOT NULL ,
`atencion_recibida` VARCHAR(45) NULL ,
`satisfaccion_precio` VARCHAR(45) NULL ,
`observaciones` VARCHAR(300) NULL ,
`finalizado` VARCHAR(45) NULL ,
`codigo_imagen` INT NOT NULL ,
PRIMARY KEY (`codigo_avi`) ,
INDEX `fk_avi_cod_tec_idx` (`codigo_tec` ASC) ,
INDEX `img_idx` (`codigo_imagen` ASC) ,
INDEX `fk_avi_cod_cli_idx` (`codigo_cli` ASC) ,
CONSTRAINT `fk_avi_cod_tec`
FOREIGN KEY (`codigo_tec` )
REFERENCES `rtp`.`tecnicos` (`codigo_tec` )
ON DELETE CASCADE
ON UPDATE CASCADE,
CONSTRAINT `fk_avi_cod_cli`
FOREIGN KEY (`codigo_cli` )
REFERENCES `rtp`.`clientes` (`codigo_cli` )
ON DELETE CASCADE
ON UPDATE CASCADE,
CONSTRAINT `img`
FOREIGN KEY (`codigo_imagen` )
REFERENCES `rtp`.`imagenes` (`codigo_imagen` )
ON DELETE CASCADE
ON UPDATE CASCADE)
ENGINE = InnoDB;
y esta es la tabla donde tengo el primary key de codigo_imagen:
-- Table `rtp`.`imagenes`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `rtp`.`imagenes` (
`ruta` VARCHAR(100) NULL ,
`codigo_avi` INT(20) NOT NULL ,
`codigo_imagen` INT NOT NULL AUTO_INCREMENT ,
PRIMARY KEY (`codigo_imagen`) ,
INDEX `fk_img_cod_avi_idx` (`codigo_avi` ASC) ,
CONSTRAINT `fk_img_cod_avi`
FOREIGN KEY (`codigo_avi` )
REFERENCES `rtp`.`avisos` (`codigo_avi` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
muchas gracias por vuestra ayuda. |