Als u MyISAM gebruikt, kunt u een samengestelde primaire sleutel maken op een tekstveld + auto-incrementveld. MySQL zal het aantal automatisch verhogen. Het zijn afzonderlijke velden, maar u kunt hetzelfde effect krijgen.
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;
Wanneer u een invoeging in de tabel doet, wordt de key_increment
veld wordt verhoogd op basis van de hoogste waarde op basis van key_prefix
. Dus invoegen met key_prefix
"smit" begint met 1 in key_inrement
, key_prefix
"jone" begint met 1 in key_inrement
, enz.
Voordelen:
- Je hoeft niets te doen met het berekenen van getallen.
Nadelen:
- Je hebt wel een sleutel verdeeld over 2 kolommen.
- Het werkt niet met InnoDB.