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

Respuestas a la pregunta(2)

Su respuesta a la pregunta