MySQL - как использовать VARCHAR в качестве первичного ключа AUTO INCREMENT

Я использую VARCHAR как мой первичный ключ. Я хочу автоматически увеличить его (основание 62, строчные / прописные буквы, числа), однако приведенный ниже код дает сбой (по понятным причинам):

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;

однако это работает:

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;

Что является лучшим способ следить за увеличением 'id' сам? (Так как auto_increment не делает ' т работа). Мне нужно сделать другую таблицу, которая содержит текущую итерацию идентификатора? Или есть лучший способ сделать это?

РЕДАКТИРОВАТЬ: Я хочу уточнить, что я знаю, что использование INT является первичным ключом auto_increment и является логическим путем. Этот вопрос является ответом на некоторый предыдущий диалог, который я видел. Спасибо

7
задан Kenny Cason 11 August 2010 в 15:04
поделиться