Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment obtenir le prochain identifiant alphanumérique basé sur la valeur existante de MySQL

Si vous utilisez MyISAM, vous pouvez créer une clé primaire composée sur un champ de texte + champ d'incrémentation automatique. MySQL se chargera d'incrémenter le nombre automatiquement. Ce sont des champs séparés, mais vous pouvez obtenir le même effet.

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;

Lorsque vous faites une insertion dans la table, le key_increment le champ s'incrémentera en fonction de la valeur la plus élevée basée sur key_prefix . Insérez donc avec key_prefix "smit" commencera par 1 dans key_inrement , key_prefix "jone" commencera par 1 dans key_inrement , etc.

Avantages :

  • Vous n'avez rien à faire avec le calcul des nombres.

Inconvénients :

  • Vous avez une clé répartie sur 2 colonnes.
  • Cela ne fonctionne pas avec InnoDB.