Om du använder MyISAM kan du skapa en sammansatt primärnyckel i ett textfält + automatiskt inkrementfält. MySQL kommer att hantera ökningen av antalet automatiskt. De är separata fält, men du kan få samma 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 infogar i tabellen, key_increment
fältet kommer att öka baserat på det högsta värdet baserat på key_prefix
. Så infoga med key_prefix
"smit" börjar med 1 i key_inrement
, key_prefix
"jone" börjar med 1 i key_inrement
, etc.
Fördelar:
- Du behöver inte göra något med att beräkna siffror.
Nackdelar:
- Du har en nyckel uppdelad i två kolumner.
- Det fungerar inte med InnoDB.