我使用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不起作用).我是否需要创建另一个包含ID当前迭代的表?或者有更好的方法吗?
编辑:我想澄清一点,我知道使用INT是一个auto_increment主键是合乎逻辑的方法.这个问题是对我之前看到的一些对话的回应.谢谢