Pokud používáte MyISAM, můžete vytvořit složený primární klíč v textovém poli + pole automatického přírůstku. MySQL zpracuje navýšení čísla automaticky. Jsou to samostatná pole, ale můžete dosáhnout stejného efektu.
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;
Když vložíte do tabulky, key_increment
pole se zvýší na základě nejvyšší hodnoty na základě key_prefix
. Vložte tedy pomocí key_prefix
"smit" bude začínat 1 v key_inrement
, key_prefix
"jone" bude začínat 1 v key_inrement
, atd.
Výhody:
- S počítáním čísel nemusíte nic dělat.
Nevýhody:
- Máte klíč rozdělený do 2 sloupců.
- Nefunguje s InnoDB.