Buenas amigos.
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 originalINSERT INTO detalle_pedido (idProducto)
SELECT idProducto
FROM producto;