在 MySQL 中,如果您有一个类似于以下内容的 MyISAM 表:
CREATE TABLE `table1` (
`col1` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`col2` INT(10) UNSIGNED NOT NULL,
PRIMARY KEY (`col2`, `col1`)
)
COLLATE='utf8_general_ci'
ENGINE=MyISAM;
如果您插入行,则自动增量基数对于每个不同的 col2 值都是唯一的。如果我的解释不够清楚,这个答案应该解释得更好。然而,InnoDB 不遵循这种行为。事实上,InnoDB 甚至不允许您将 col2 作为主键定义中的第一个。
我的问题是,是否可以在不使用 MAX(id)+1 之类的方法的情况下以某种方式在 InnoDB 中对这种行为进行建模?我能找到的最接近的是this,但它适用于 PostgreSQL。
编辑:标题拼写错误