Ver Mensaje Individual
  #10 (permalink)  
Antiguo 17/07/2014, 10:39
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Series y correlativos

Bueno, por lo pronto, tienes más de un campo muy mal definido...
Los ID numéricos, deben ser campos INT UNSIGNED.
Los de fecha, pura y exclusivamente DATE, DATETIME o TIMESTAMP.
Los campos con valores decimales, en MySQL conviene que sean DECIMAL, no DOUBLE ni FLOAT.
Como varios campos que son FK parecieran ser usados con números, tengo la seria impresión de que el modelo completo tiene muchos errores, y francamente no sé por donde empezar a darte consejos.
Lo que si es claro es que con los campos numéricos definidos como VARCHAR, no puedes hacer nada bueno. Yo empezaría por reformar todo lo referente a la estructura de campos, y recién entonces me preocuparía por ver cómo lograr hacer los valores secuenciales que necesitas.
La verdad, pinta que tienes bastante trabajo y aprendizaje por delante.

¿Te animas a intentarlo?


Por cierto, ¿Con qué herramienta estás trabajando la base de datos?
Código MySQL:
Ver original
  1. CREATE TABLE `comprobante` (
  2.   `id_comprobante` varchar(10) NOT NULL, # < Esto está mal
  3.   `cod_cli` varchar(6) NOT NULL, # < Esto está mal, a menos que el codigo sea alfanumerico
  4.   `tipo` varchar(45) NOT NULL,
  5.   `serie` varchar(6) NOT NULL, # < Esto está mal
  6.   `correlativo` varchar(6) NOT NULL, # < Esto está mal
  7.   `ruc_cli` varchar(11) NOT NULL,
  8.   `sub_total` double NOT NULL, # < Esto está mal
  9.   `igv` double NOT NULL,
  10.   `total` double NOT NULL, # < Esto está mal, y no debería ser necesario (parece un campo calculado)
  11.   `fec_comp` varchar(10) NOT NULL, # < Esto está mal, definitivamente
  12.   `est_compro` varchar(1) NOT NULL,
  13.   `cod_user` varchar(6) NOT NULL, # < Esto está mal, a menos que el codigo sea alfanumerico
  14.   PRIMARY KEY (`id_comprobante`),
  15.   KEY `xcodCli_idx` (`cod_cli`),
  16.   KEY `xcod_user_idx` (`cod_user`),
  17.   CONSTRAINT `xcodCli` FOREIGN KEY (`cod_cli`) REFERENCES `cliente` (`cod_cli`) ON DELETE NO ACTION ON UPDATE NO ACTION,
  18.   CONSTRAINT `xcod_user` FOREIGN KEY (`cod_user`) REFERENCES `usuario` (`cod_user`) ON DELETE CASCADE ON UPDATE CASCADE
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)