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 `cod_cli` varchar(6) NOT NULL, # < Esto está mal, a menos que el codigo sea alfanumerico `total` double NOT NULL, # < Esto está mal, y no debería ser necesario (parece un campo calculado) `cod_user` varchar(6) NOT NULL, # < Esto está mal, a menos que el codigo sea alfanumerico KEY `xcodCli_idx` (`cod_cli`), KEY `xcod_user_idx` (`cod_user`),