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.