Código MySQL:
Ver original
CONSTRAINT `articulos_ibfk_1` FOREIGN KEY (`idAutor`) REFERENCES `usuarios` (`idUsuario`) ON DELETE CASCADE, CONSTRAINT `articulos_ibfk_2` FOREIGN KEY (`estadoArticulo`) REFERENCES `estados` (`idEstado`) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `articulos_ibfk_3` FOREIGN KEY (`idVolumen`) REFERENCES `volumenes` (`idVolumen`) ON DELETE NO ACTION ON UPDATE NO ACTION
El problema esta en el campo idVolumen, si intento insertar un nuevo articulo el idVolumen nose lo indico y me inserta perfectamente.
Pero si despues quiero actualizar, lo tengo hecho de la siguiente manera:
Cita:
Esto me lanza un error de tipo:Editado: Código de programación no permitido en foros de BBDD.
Cita:
Porque la variable "INT idVolumen" contiene un 0 y al intentar insertar un 0 no existe dicho volumen en la tabla asociada....Estado HTTP 500 - Request processing failed; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityCons traintViolationException: Cannot add or update a child row: a foreign key constraint fails (`todomotor`.`articulos`, CONSTRAINT `articulos_ibfk_3` FOREIGN KEY (`idVolumen`) REFERENCES `volumenes` (`idVolumen`) ON DELETE NO ACTION ON UPDATE NO ACTION)
Cual es la solucion correcta??
Implementar dos metodos para actualizar uno actualizando el volumen y otro no??
Un ayuda por favor :( me lio mucho con estas cosas!!!