Hvis automatisk stigning ikke er godt nok til dine behov, kan du oprette en atomsekvensmekanisme med n navngivne sekvenser som denne:
Opret en tabel til at gemme dine sekvenser:
CREATE TABLE sequence (
seq_name varchar(20) unique not null,
seq_current unsigned int not null
);
Hvis du antager, at du har en række for 'foo' i tabellen, kan du atomisk få det næste sekvens-id på denne måde:
UPDATE sequence SET seq_current = (@next := seq_current + 1) WHERE seq_name = 'foo';
SELECT @next;
Ingen låse påkrævet. Begge sætninger skal udføres i samme session, så den lokale variabel @next faktisk er defineret, når udvælgelsen sker.