MySQL - wie zu verwenden VARCHAR als AUTO INCREMENT Primary Key

Ich bin mit einem VARCHAR als meine primäre Schlüssel. Ich will die "auto increment" es (Basis 62, die unteren groß - /Kleinschreibung, zahlen), Jedoch der folgende code schlägt fehl (aus offensichtlichen Gründen):

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;

funktioniert dies jedoch:

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;

Was ist der beste Weg zu verfolgen, Inkrementierung von 'id' mich? (Da auto_increment funktioniert nicht). Muss ich eine andere Tabelle, die enthält die aktuelle iteration-ID? Oder gibt es eine bessere Möglichkeit, dies zu tun?

EDIT: ich möchte klarstellen, dass ich weiß, dass die Verwendung von INT ist ein auto_increment primary key ist der logische Weg zu gehen. Diese Frage ist in der Antwort auf eine vorangegangene Dialog den ich gesehen habe. Dank

  • Offtopic: Sind Sie sicher, dass Sie verwenden möchten MyISAM? Für eine relationale Datenbank, müssen Sie innoDB in MySQL zu erstellen Fremdschlüssel.
  • Nein, ich bin nicht sicher. Ich habe mit MySQL für eine ganze Weile jetzt, jedoch, wurde mir gesagt, dass MyISAM verwendet werden sollte, die meisten der Zeit und ich ging einfach mit 😛
InformationsquelleAutor Kenny Cason | 2010-08-11
Schreibe einen Kommentar