Hvis du bruger MyISAM, så kan du oprette en sammensat primærnøgle på et tekstfelt + automatisk stigningsfelt. MySQL håndterer automatisk forøgelse af antallet. De er separate felter, men du kan få den samme effekt.
CREATE TABLE example (
company_name varchar(100),
key_prefix char(4) not null,
key_increment int unsigned auto_increment,
primary key co_key (key_prefix,key_increment)
) ENGINE=MYISAM;
Når du laver en indsættelse i tabellen, vil key_increment feltet vil stige baseret på den højeste værdi baseret på key_prefix . Så indsæt med key_prefix "smit" starter med 1 i key_inrement , key_prefix "jone" starter med 1 i key_inrement osv.
Fordele:
- Du behøver ikke gøre noget med at beregne tal.
Ulemper:
- Du har en nøgle opdelt på tværs af 2 kolonner.
- Det virker ikke med InnoDB.