Ver Mensaje Individual
  #1 (permalink)  
Antiguo 31/05/2013, 08:41
ivan_esp
 
Fecha de Ingreso: diciembre-2012
Mensajes: 26
Antigüedad: 11 años, 4 meses
Puntos: 0
Fallo al eliminar fila con referencia a otra tabla

Hola,

Resulta que tengo estas dos tablas(bueno,tengo mas ,pero estas son las que tiene problemas)

Tabla Oferta
Código SQL:
Ver original
  1. CREATE TABLE IF NOT EXISTS `Oferta` (
  2.   `oferta_id` INT(11) NOT NULL AUTO_INCREMENT,
  3.   `categoria_id` INT(11) NOT NULL,
  4.   `descripcion` VARCHAR(120) NOT NULL,
  5.   `titulo` VARCHAR(30) NOT NULL,
  6.   `fecha_inicio` DATE NOT NULL,
  7.   `fecha_fin` DATE NOT NULL,
  8.   `empresa_id` INT(11) NOT NULL,
  9.   `lugar` VARCHAR(40) NOT NULL,
  10.   PRIMARY KEY (`oferta_id`),
  11.   KEY `Oferta_ibfk_1` (`categoria_id`),
  12.   KEY `Oferta_ibfk_2` (`empresa_id`)
  13. ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;
  14.  
  15. INSERT INTO `Oferta` (`oferta_id`, `categoria_id`, `descripcion`, `titulo`, `fecha_inicio`, `fecha_fin`, `empresa_id`, `lugar`) VALUES
  16. (1, 1, 'Desarrollador web en PHP', 'Programador', '0000-00-00', '0000-00-00', 1, 'Silicon Valley');
  17.  
  18. ALTER TABLE `Oferta`
  19.   ADD CONSTRAINT `Oferta_ibfk_1` FOREIGN KEY (`categoria_id`) REFERENCES `Categoria` (`categoria_id`),
  20.   ADD CONSTRAINT `Oferta_ibfk_2` FOREIGN KEY (`empresa_id`) REFERENCES `Empresa` (`empresa_id`);

Tabla Inscrito

Código SQL:
Ver original
  1. CREATE TABLE IF NOT EXISTS `Inscrito` (
  2.   `oferta_id` INT(11) NOT NULL,
  3.   `alumno_id` INT(11) NOT NULL,
  4.   PRIMARY KEY (`oferta_id`,`alumno_id`),
  5.   KEY `Inscrito_ibfk_2` (`alumno_id`)
  6. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  7.  
  8.  
  9. INSERT INTO `Inscrito` (`oferta_id`, `alumno_id`) VALUES
  10. (1, 9);
  11.  
  12.  
  13. ALTER TABLE `Inscrito`
  14.   ADD CONSTRAINT `Inscrito_ibfk_1` FOREIGN KEY (`oferta_id`) REFERENCES `Oferta` (`oferta_id`),
  15.   ADD CONSTRAINT `Inscrito_ibfk_2` FOREIGN KEY (`alumno_id`) REFERENCES `Alumno` (`alumno_id`);
Al intentar eliminar de la tabla Oferta una fila me da el siguiente error:

Cannot delete or update a parent row: a foreign key constraint fails (`adminjobs`.`Inscrito`, CONSTRAINT `Inscrito_ibfk_1` FOREIGN KEY (`oferta_id`) REFERENCES `Oferta` (`oferta_id`))

A ver si alguien me puede ayudar.


Saludos y Gracias