示例我有表:
CREATE TABLE animals (
grp ENUM('fish','mammal','bird') NOT NULL,
id MEDIUMINT NOT NULL AUTO_INCREMENT,
name CHAR(30) NOT NULL,
PRIMARY KEY (grp,id)
) ENGINE=MyISAM;
如果我这样插入:
NSERT INTO animals (grp,name) VALUES
('mammal','dog'),('mammal','cat'),
('bird','penguin'),('fish','lax'),('mammal','whale'),
('bird','ostrich');
比回报:
+--------+----+---------+
| grp | id | name |
+--------+----+---------+
| fish | 1 | lax |
| mammal | 1 | dog |
| mammal | 2 | cat |
| mammal | 3 | whale |
| bird | 1 | penguin |
| bird | 2 | ostrich |
+--------+----+---------+
但这只是为了MyIsam,为什么我们不能用于InnoDB?,如何在InnoDB中创建它,我想我们可以使用BEFORE INSERT获取新ID,如果我的用户超过1000个用户,我不知道这项工作,我的观点是:
我已完成此基准测试,但结果并不令人满意。会工作,但有些客户得到我的方法错误,有没有其他方式/如何? 感谢Advance!