MySQL - Verwendung von VARCHAR als AUTO INCREMENT-Primärschlüssel
Ich verwende VARCHAR als meinen Primärschlüssel. Ich möchte es automatisch inkrementieren (Basis 62, Groß- / Kleinschreibung, Zahlen). Der folgende Code schlägt jedoch 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;
jedoch, das funktioniert:
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, um die Inkrementierung von 'id' selbst zu verfolgen? (Da auto_increment nicht funktioniert). Muss ich eine andere Tabelle erstellen, die die aktuelle ID-Iteration enthält? Oder gibt es dafür einen besseren Weg?
BEARBEITEN Ich möchte klarstellen, dass ich weiß, dass die Verwendung von INT ein Auto_Increment-Primärschlüssel ist, der logische Weg ist. Diese Frage ist eine Antwort auf einen früheren Dialog, den ich gesehen habe. Vielen Dan