使用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
我不想通过任何“疯狂”的方法来达到这个目的,但是如果需要的话。
对于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) );
这是手册对此所说的
在这种情况下,将为AUTO_INCREMENT列生成的值计算为MAX(auto_increment_column)+ 1 WHERE prefix = given-prefix。当您要将数据放入有序组中时,这很有用。