MySQL: cómo usar VARCHAR como clave principal de INCREMENTO AUTOMÁTICO
Estoy usando un VARCHAR como mi clave principal. Quiero incrementarlo automáticamente (base 62, minúsculas / mayúsculas, números). Sin embargo, el siguiente código falla (por razones obvias):
CREATE TABLE IF NOT EXISTS `campaign` (
`account_id` BIGINT(20) NOT NULL,
`type` SMALLINT(5) NOT NULL,
`id` VARCHAR(16) NOT NULL AUTO_INCREMENT PRIMARY KEY
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
sin embargo, esto funciona:
CREATE TABLE IF NOT EXISTS `campaign` (
`account_id` BIGINT(20) NOT NULL,
`type` SMALLINT(5) NOT NULL,
`id` VARCHAR(16) NOT NULL PRIMARY KEY
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
¿Cuál es la mejor manera de hacer un seguimiento del incremento de 'id' yo mismo? (Dado que auto_increment no funciona). ¿Necesito hacer otra tabla que contenga la iteración actual de ID? ¿O hay una mejor manera de hacer esto?
EDITAR: Quiero aclarar que sé que usar INT es una clave primaria de auto_increment es el camino lógico a seguir. Esta pregunta es en respuesta a algún diálogo previo que vi. Gracias