Necesito su ayuda porque no me funciona bien el auto increment en la tabla "detalle_producto".
Cuando intento colocarle los valores del campo "idProducto" de la tabla "producto" al campo "idProducto" de la tabla "detalle_producto" me salta 2 o más registros autoincrementales de esta última tabla en el campo "idDetalle".
¿Por qué será? ¿Cómo se podrá solucionar?
Estos son mis datos:
Código SQL:
Ver original
-- ----------------------------------------------------- -- Table `biofusion_admin`.`producto` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `mi_base_datos`.`producto` ( `idProducto` INT NOT NULL AUTO_INCREMENT, `idParent` INT NOT NULL, `idPagina` INT NOT NULL, `defCategoria` VARCHAR(9) NULL, `nombreProducto` VARCHAR(50) NULL, `descripcionProducto` VARCHAR(200) NULL, `precioProducto` DECIMAL(6,2) NULL, `stockProducto` INT NULL, `imagenProducto` VARCHAR(150) NULL, `fechaProducto` VARCHAR(16) NULL, PRIMARY KEY (`idProducto`)) ENGINE = InnoDB; -- ----------------------------------------------------- -- Table `biofusion_admin`.`detalle_pedido` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `mi_base_datos`.`detalle_pedido` ( `idEstadoProductoPedido` INT NULL DEFAULT 1, `idDetalle` INT NOT NULL AUTO_INCREMENT, `cantProd` INT NULL, `idProducto` INT NULL, `infoProd` VARCHAR(50) NULL, `subTotal` DECIMAL(6,2) NULL, PRIMARY KEY (`idDetalle`), CONSTRAINT `fk_producto_pedido_pedido1` FOREIGN KEY (`idPedido`) REFERENCES `mi_base_datos`.`pedido` (`idPedido`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `fk_producto_pedido_estado_producto_pedido1` FOREIGN KEY (`idEstadoProductoPedido`) REFERENCES `mi_base_datos`.`estado_producto_pedido` (`idEstadoProductoPedido`) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `fk_detalle_pedido_producto1` FOREIGN KEY (`idProducto`) REFERENCES `mi_base_datos`.`producto` (`idProducto`) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB; CREATE INDEX `fk_producto_pedido_pedido1_idx` ON `mi_base_datos`.`detalle_pedido` (`idPedido` ASC); CREATE INDEX `fk_producto_pedido_estado_producto_pedido1_idx` ON `mi_base_datos`.`detalle_pedido` (`idEstadoProductoPedido` ASC); CREATE INDEX `fk_detalle_pedido_producto1_idx` ON `mi_base_datos`.`detalle_pedido` (`idProducto` ASC); SET SQL_MODE=@OLD_SQL_MODE; SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS; SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
Mi consulta:
Código SQL:
Ver original
INSERT INTO detalle_pedido (idProducto) SELECT idProducto FROM producto;