auto_increment by group

Gle*_*rry 8 mysql auto-increment

MySQL(具体是5.0)有没有办法让auto_increment字段的值基于分组列?

例:

id  name   group_field
1   test   1
2   test2  1
1   test3  2
2   test4  2
1   test5  3
2   test6  3
Run Code Online (Sandbox Code Playgroud)

我不想通过任何"疯狂"的方法来实现这个目标,但如果有必要的话.

Pau*_*xon 16

对于MyISAM和BDB表,您可以将auto_increment字段作为键的次要部分,例如

CREATE TABLE foo (
   id          INT AUTO_INCREMENT NOT NULL,
   group_field INT NOT NULL,
   name        VARCHAR(128),

   PRIMARY KEY(group_field, id)
);
Run Code Online (Sandbox Code Playgroud)

以下是手册对此的说法

在这种情况下,AUTO_INCREMENT列的生成值计算为MAX(auto_increment_column)+ 1 WHERE prefix = given-prefix.当您想要将数据放入有序组时,这非常有用.