| Class to increment maximum value of a given MySQL table with the equivalent
of an auto-increment column. Note: If you use this class, your MySQL key
column should NOT be auto-increment, as the sequence table does the job.
The sequence is kept in a table; there should be one sequence table per
table that needs an auto-generated key. The table type of the sequence table
should be MyISAM so the sequences are allocated without regard to any
transactions that might be in progress.
Example:
create table tab (id int unsigned not null primary key, text varchar(100));
create table tab_sequence (value int not null) type=MYISAM;
insert into tab_sequence values(0);
If cacheSize is set, the intermediate values are served without querying the
database. If the server or your application is stopped or crashes or a transaction
is rolled back, the unused values will never be served. The maximum hole size in
numbering is consequently the value of cacheSize.
author: Jean-Pierre Pawlak author: Thomas Risberg author: Juergen Hoeller |