Estoy usando un VARCHAR como mi clave principal. Quiero incremento automático que (de base 62, minúsculas/mayúsculas, números), Sin embargo, el código de abajo falla (por razones obvias): sin embargoMySQL - cómo usar VARCHAR como INCREMENTO AUTOMÁTICO Clave principal
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;
, 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;
Lo ¿Es la mejor manera de hacer un seguimiento del incremento de 'id'? (Dado que auto_increment no funciona). ¿Debo hacer otra tabla que contenga la iteración actual de ID? ¿O hay una mejor manera de hacer esto?
EDIT: Quiero aclarar que sé que el uso de INT es una clave primaria de auto_increment es la forma lógica de hacerlo. Esta pregunta es en respuesta a algún diálogo previo que vi. Gracias
Offtopic: ¿Estás seguro de que deseas utilizar MyISAM? Para una base de datos relacional, necesita innoDB en MySQL para crear claves externas. –
No, no estoy seguro en absoluto. He estado usando MySQL desde hace bastante tiempo, sin embargo, me dijeron que MyISAM debería usarse la mayor parte del tiempo y simplemente fui con eso: P –