Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como obter o próximo ID alfanumérico com base no valor existente do MySQL


Se você estiver usando MyISAM, poderá criar uma chave primária composta em um campo de texto + campo de incremento automático. O MySQL lidará com o incremento do número automaticamente. Eles são campos separados, mas você pode obter o mesmo efeito.
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;

Quando você faz uma inserção na tabela, o key_increment campo será incrementado com base no valor mais alto com base em key_prefix . Então insira com key_prefix "smit" começará com 1 em key_inrement , key_prefix "jone" começará com 1 em key_inrement , etc

Prós:
  • Você não precisa fazer nada para calcular números.

Contras:
  • Você tem uma divisão de chave em duas colunas.
  • Não funciona com InnoDB.