Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

[SOLUCIONADO] Error al insertar registro en tabla

Estas en el tema de Error al insertar registro en tabla en el foro de Mysql en Foros del Web. Tengo una tabla que esta relacionada con otras, en dicha tabla debo almacenar como un solo registro, el movimiento de maquinas de una empresa, en ...
  #1 (permalink)  
Antiguo 13/12/2015, 10:36
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.423
Antigüedad: 23 años
Puntos: 20
Error al insertar registro en tabla

Tengo una tabla que esta relacionada con otras, en dicha tabla debo almacenar como un solo registro, el movimiento de maquinas de una empresa, en el registro basicamente lo que inserto son los id (como llaves foraneas) de la tabla cliente, equipo, categoria_equipo y obra, esto lo hago por que luego, al momento de consultar, se dee generar un informe con los datos mencionados (de manera legible), para lo cual debo hacer en su momento un INNER JOIN para traer todos los datos (pero bueno eso es otro tema que ya tengo avanzado).

La cuestion es que este es el error que me arroja
Cita:
Cannot add or update a child row: a foreign key constraint fails (`consicon_movimientos`.`movimiento`, CONSTRAINT `fk_movimiento_cliente1` FOREIGN KEY (`cliente_idcliente`) REFERENCES `cliente` (`idcliente`) ON DELETE NO ACTION ON UPDATE NO ACTION)
Este es es el insert que tengo
Código MySQL:
Ver original
  1. INSERT INTO movimiento (fecha,cliente_idcliente,equipo_idequipo,categoria_equipo_idcategoria_equipo,obra_idobra,mov_creado,creadopor) values ('2015-12-18','Constructora Melendez','Aspiradora Industrial','Aseo','Balcones de la Torre III','2015-12-13 11:32:49','Cesar')


y estas mis tablas

Código MySQL:
Ver original
  1. -- Estructura de tabla para la tabla `categoria_equipo`
  2. --
  3.  
  4. CREATE TABLE IF NOT EXISTS `categoria_equipo` (
  5.   `idcategoria_equipo` int(11) NOT NULL AUTO_INCREMENT,
  6.   `categoria` varchar(45) NOT NULL,
  7.   PRIMARY KEY (`idcategoria_equipo`)
  8.  
  9. --
  10. -- Volcado de datos para la tabla `categoria_equipo`
  11. --
  12.  
  13. INSERT INTO `categoria_equipo` (`idcategoria_equipo`, `categoria`) VALUES
  14. (1, 'Aseo'),
  15. (2, 'Compactación'),
  16. (3, 'Corte'),
  17. (4, 'Demolición'),
  18. (5, 'Elevación'),
  19. (6, 'Encofrado'),
  20. (7, 'Ensayo de Concreto'),
  21. (8, 'Formaleta de Entrepiso'),
  22. (9, 'Generadores'),
  23. (10, 'Manejo de Concreto'),
  24. (11, 'Motobombas'),
  25. (12, 'Trabajo en Alturas');
  26.  
  27. -- --------------------------------------------------------
  28.  
  29. --
  30. -- Estructura de tabla para la tabla `cliente`
  31. --
  32.  
  33. CREATE TABLE IF NOT EXISTS `cliente` (
  34.   `idcliente` int(11) NOT NULL AUTO_INCREMENT,
  35.   `razon_social` varchar(45) NOT NULL,
  36.   `nit` varchar(45) NOT NULL,
  37.   `telefono` varchar(45) NOT NULL,
  38.   `direccion` varchar(45) NOT NULL,
  39.   `ciudad` varchar(45) NOT NULL,
  40.   `email` varchar(45) NOT NULL,
  41.   `creado` date DEFAULT NULL,
  42.   `creadopor` varchar(45) DEFAULT NULL,
  43.   PRIMARY KEY (`idcliente`)
  44.  
  45. --
  46. -- Volcado de datos para la tabla `cliente`
  47. --
  48.  
  49. INSERT INTO `cliente` (`idcliente`, `razon_social`, `nit`, `telefono`, `direccion`, `ciudad`, `email`, `creado`, `creadopor`) VALUES
  50. (1, 'Constructora Melendez', '800.268.053-6', '34', 'Prueba', '3455', '[email protected]', '2015-12-12', NULL),
  51. (2, 'Constructora Alpes', '765.876.098-7', '4567689', 'Calle 82 # 76 - 54', 'Bogota', '[email protected]', '2015-12-13', 'cesar');
  52.  
  53. -- --------------------------------------------------------
  54.  
  55. --
  56. -- Estructura de tabla para la tabla `equipo`
  57. --
  58.  
  59. CREATE TABLE IF NOT EXISTS `equipo` (
  60.   `idequipo` int(11) NOT NULL AUTO_INCREMENT,
  61.   `nombre` varchar(45) NOT NULL,
  62.   `marca` varchar(45) NOT NULL,
  63.   `fecha_creacion` date NOT NULL,
  64.   `cantidad` varchar(45) NOT NULL,
  65.   `categoria_equipo_idcategoria_equipo` int(11) NOT NULL,
  66.   PRIMARY KEY (`idequipo`),
  67.   KEY `fk_equipo_categoria_equipo1_idx` (`categoria_equipo_idcategoria_equipo`)
  68.  
  69. --
  70. -- Volcado de datos para la tabla `equipo`
  71. --
  72.  
  73. INSERT INTO `equipo` (`idequipo`, `nombre`, `marca`, `fecha_creacion`, `cantidad`, `categoria_equipo_idcategoria_equipo`) VALUES
  74. (12, 'Aspiradora Industrial', 'Electrolux', '2015-12-10', '5', 1),
  75. (13, 'Hidrolavadora Eléctrica', 'Electrolux', '2015-12-10', '4', 1);
  76.  
  77. -- --------------------------------------------------------
  78.  
  79. --
  80. -- Estructura de tabla para la tabla `movimiento`
  81. --
  82.  
  83. CREATE TABLE IF NOT EXISTS `movimiento` (
  84.   `idmovimiento` int(11) NOT NULL AUTO_INCREMENT,
  85.   `fecha` datetime NOT NULL,
  86.   `cliente_idcliente` int(11) NOT NULL,
  87.   `equipo_idequipo` int(11) NOT NULL,
  88.   `categoria_equipo_idcategoria_equipo` int(11) NOT NULL,
  89.   `obra_idobra` int(11) NOT NULL,
  90.   `mov_creado` datetime DEFAULT NULL,
  91.   `creadopor` varchar(45) DEFAULT NULL,
  92.   PRIMARY KEY (`idmovimiento`),
  93.   KEY `fk_movimiento_cliente1_idx` (`cliente_idcliente`),
  94.   KEY `fk_movimiento_equipo1_idx` (`equipo_idequipo`),
  95.   KEY `fk_movimiento_categoria_equipo1_idx` (`categoria_equipo_idcategoria_equipo`),
  96.   KEY `fk_movimiento_obra1_idx` (`obra_idobra`)
  97.  
  98. --
  99. -- Volcado de datos para la tabla `movimiento`
  100. --
  101.  
  102. INSERT INTO `movimiento` (`idmovimiento`, `fecha`, `cliente_idcliente`, `equipo_idequipo`, `categoria_equipo_idcategoria_equipo`, `obra_idobra`, `mov_creado`, `creadopor`) VALUES
  103. (1, '2015-12-14 00:00:00', 2, 12, 1, 3, '2015-12-13 09:25:15', 'Cesar'),
  104. (2, '2015-12-15 00:00:00', 1, 13, 1, 1, '2015-12-13 09:26:46', 'Cesar');
  105.  
  106. -- --------------------------------------------------------
  107.  
  108. --
  109. -- Estructura de tabla para la tabla `obra`
  110. --
  111.  
  112. CREATE TABLE IF NOT EXISTS `obra` (
  113.   `idobra` int(11) NOT NULL AUTO_INCREMENT,
  114.   `nombre` varchar(45) NOT NULL,
  115.   `direccion` varchar(45) NOT NULL,
  116.   `ciudad` varchar(45) NOT NULL,
  117.   `creada` datetime NOT NULL,
  118.   `creadopor` varchar(45) NOT NULL,
  119.   `cliente_idcliente` int(11) NOT NULL,
  120.   PRIMARY KEY (`idobra`),
  121.   KEY `fk_obra_cliente1_idx` (`cliente_idcliente`)
  122.  
  123. --
  124. -- Volcado de datos para la tabla `obra`
  125. --
  126.  
  127. INSERT INTO `obra` (`idobra`, `nombre`, `direccion`, `ciudad`, `creada`, `creadopor`, `cliente_idcliente`) VALUES
  128. (1, 'Balcones de la Torre III', 'Calle 25 # 127 - 300', 'Cali', '2015-12-12 07:11:39', 'Cesar', 1),
  129. (2, 'Altos de la sierra', 'Calle 34 N # 70 - 54', 'Cali', '2015-12-12 07:13:27', 'Cesar', 1),
  130. (3, 'Cerros del Monte', 'Calle 157 # 87 - 54', 'Bogota', '2015-12-13 09:21:52', 'Cesar', 2),
  131. (5, 'Balcones del Sauce', 'Avenida 76 # 78 - 76', 'Bogota', '2015-12-13 09:24:06', 'Cesar', 2);
  132.  
  133. --
  134. -- Restricciones para tablas volcadas
  135. --
  136.  
  137. --
  138. -- Filtros para la tabla `equipo`
  139. --
  140. ALTER TABLE `equipo`
  141.   ADD CONSTRAINT `fk_equipo_categoria_equipo1` FOREIGN KEY (`categoria_equipo_idcategoria_equipo`) REFERENCES `categoria_equipo` (`idcategoria_equipo`) ON DELETE CASCADE ON UPDATE CASCADE;
  142.  
  143. --
  144. -- Filtros para la tabla `movimiento`
  145. --
  146. ALTER TABLE `movimiento`
  147.   ADD CONSTRAINT `fk_movimiento_cliente1` FOREIGN KEY (`cliente_idcliente`) REFERENCES `cliente` (`idcliente`) ON DELETE NO ACTION ON UPDATE NO ACTION,
  148.   ADD CONSTRAINT `fk_movimiento_equipo1` FOREIGN KEY (`equipo_idequipo`) REFERENCES `equipo` (`idequipo`) ON DELETE NO ACTION ON UPDATE NO ACTION,
  149.   ADD CONSTRAINT `fk_movimiento_categoria_equipo1` FOREIGN KEY (`categoria_equipo_idcategoria_equipo`) REFERENCES `categoria_equipo` (`idcategoria_equipo`) ON DELETE NO ACTION ON UPDATE NO ACTION,
  150.   ADD CONSTRAINT `fk_movimiento_obra1` FOREIGN KEY (`obra_idobra`) REFERENCES `obra` (`idobra`) ON DELETE NO ACTION ON UPDATE NO ACTION;
  151.  
  152. --
  153. -- Filtros para la tabla `obra`
  154. --
  155. ALTER TABLE `obra`
  156.   ADD CONSTRAINT `fk_obra_cliente1` FOREIGN KEY (`cliente_idcliente`) REFERENCES `cliente` (`idcliente`) ON DELETE CASCADE ON UPDATE CASCADE;

Alguien sabe como lo puedo slucionar? he pensado quitar todas las relaciones y dejar la tabla movimientos sin relaciones, solo para almacenar los datos, sin embargo me preocupa que al momento de hacer el INNER JOIN para generar el informe, no funcione
__________________
Say no more.......
  #2 (permalink)  
Antiguo 13/12/2015, 10:43
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.423
Antigüedad: 23 años
Puntos: 20
Respuesta: Error al insertar registro en tabla

Me permito aclarar que la tabla movimiento está vacia en este momento, la vacié para probar si era por que existian dos registros pero no funcionó
__________________
Say no more.......
  #3 (permalink)  
Antiguo 13/12/2015, 10:51
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.423
Antigüedad: 23 años
Puntos: 20
Respuesta: Error al insertar registro en tabla

Todos calmados, ya encontré el error, estaba intentando registrar los datos que no eran, gracias de todos modos por su atencion
__________________
Say no more.......

Etiquetas: fecha, join, registro, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 03:38.