Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/02/2015, 06:24
mikehove
 
Fecha de Ingreso: abril-2012
Ubicación: Argentina
Mensajes: 215
Antigüedad: 12 años
Puntos: 2
Conflicto con Autoincrement

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
  1. -- -----------------------------------------------------
  2. -- Table `biofusion_admin`.`producto`
  3. -- -----------------------------------------------------
  4. CREATE TABLE IF NOT EXISTS `mi_base_datos`.`producto` (
  5.   `idProducto` INT NOT NULL AUTO_INCREMENT,
  6.   `idParent` INT NOT NULL,
  7.   `idPagina` INT NOT NULL,
  8.   `defCategoria` VARCHAR(9) NULL,
  9.   `nombreProducto` VARCHAR(50) NULL,
  10.   `descripcionProducto` VARCHAR(200) NULL,
  11.   `precioProducto` DECIMAL(6,2) NULL,
  12.   `stockProducto` INT NULL,
  13.   `imagenProducto` VARCHAR(150) NULL,
  14.   `fechaProducto` VARCHAR(16) NULL,
  15.   PRIMARY KEY (`idProducto`))
  16. ENGINE = InnoDB;
  17.  
  18.  
  19. -- -----------------------------------------------------
  20. -- Table `biofusion_admin`.`detalle_pedido`
  21. -- -----------------------------------------------------
  22. CREATE TABLE IF NOT EXISTS `mi_base_datos`.`detalle_pedido` (  
  23.   `idEstadoProductoPedido` INT NULL DEFAULT 1,
  24.   `idDetalle` INT NOT NULL AUTO_INCREMENT,
  25.   `cantProd` INT NULL,
  26.   `idProducto` INT NULL,
  27.   `infoProd` VARCHAR(50) NULL,
  28.   `subTotal` DECIMAL(6,2) NULL,
  29.   PRIMARY KEY (`idDetalle`),
  30.   CONSTRAINT `fk_producto_pedido_pedido1`
  31.     FOREIGN KEY (`idPedido`)
  32.     REFERENCES `mi_base_datos`.`pedido` (`idPedido`)
  33.     ON DELETE CASCADE
  34.     ON UPDATE CASCADE,
  35.   CONSTRAINT `fk_producto_pedido_estado_producto_pedido1`
  36.     FOREIGN KEY (`idEstadoProductoPedido`)
  37.     REFERENCES `mi_base_datos`.`estado_producto_pedido` (`idEstadoProductoPedido`)
  38.     ON DELETE NO ACTION
  39.     ON UPDATE NO ACTION,
  40.   CONSTRAINT `fk_detalle_pedido_producto1`
  41.     FOREIGN KEY (`idProducto`)
  42.     REFERENCES `mi_base_datos`.`producto` (`idProducto`)
  43.     ON DELETE NO ACTION
  44.     ON UPDATE NO ACTION)
  45. ENGINE = InnoDB;
  46.  
  47. CREATE INDEX `fk_producto_pedido_pedido1_idx` ON `mi_base_datos`.`detalle_pedido` (`idPedido` ASC);
  48.  
  49. CREATE INDEX `fk_producto_pedido_estado_producto_pedido1_idx` ON `mi_base_datos`.`detalle_pedido` (`idEstadoProductoPedido` ASC);
  50.  
  51. CREATE INDEX `fk_detalle_pedido_producto1_idx` ON `mi_base_datos`.`detalle_pedido` (`idProducto` ASC);
  52.  
  53.  
  54. SET SQL_MODE=@OLD_SQL_MODE;
  55. SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
  56. SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;

Mi consulta:

Código SQL:
Ver original
  1. INSERT INTO detalle_pedido (idProducto)
  2. SELECT idProducto                              
  3. FROM producto;

Última edición por gnzsoloyo; 18/02/2015 a las 06:59