I am having a table with the composite key
emp_tbl(
companyId int not null,
empId int not null auto_increment,
name varchar2,
....
...
primary key(companyId,empId)
);
In mysql whats happening is while i starts inserting the data
Emp_tbl
companyId empId
1 1
1 2
1 3
2 1
2 2
Note that when the companyId changes the auto_increament value is resetted to 1 again. I want to disable that. I mean i don't want to reset the auto_increament. I am expecting the result like this.
companyId empId
1 1
1 2
1 3
2 4
2 5
Is it possible to do it? Thanks
This is what happens with a composite primary key that incorporates a auto_increment. Recreate the primary key so that it's purely your auto_increment field (empId) then create a unique index on companyId and empId
EDIT
Note that this only applies to MyISAM and BDB tables. If you used InnoDB for your tables, then it would also work as you wanted
If you do not want empId to reset then just reverse the order of primary definition
primary key(companyId,empId)
note that composite key order matters.
来源:https://stackoverflow.com/questions/3804845/auto-increment-usage-in-composite-key