小编And*_*dor的帖子

使用InnoDB中的自动增量行为模拟MyISAM的复合主键

在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.

编辑:标题拼写错误

mysql database-design myisam innodb

5
推荐指数
1
解决办法
1012
查看次数

标签 统计

database-design ×1

innodb ×1

myisam ×1

mysql ×1