在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;
Run Code Online (Sandbox Code Playgroud)
如果插入行,则自动增量基础对于每个不同的col2值都是唯一的.如果我的解释不够清楚,这个答案应该更好地解释.但是,InnoDB不遵循这种行为.事实上,InnoDB甚至不会让你把col2放在主键定义的第一位.
我的问题是,是否有可能以某种方式在InnoDB中建模这种行为而不诉诸MAX(id)+1或类似的方法?我能找到的最接近的是这个,但它适用于PostgreSQL.
编辑:标题拼写错误