sql >> Base de Datos >  >> RDS >> Mysql

Cómo obtener la próxima ID alfanumérica basada en el valor existente de MySQL

Si está utilizando MyISAM, puede crear una clave principal compuesta en un campo de texto + campo de incremento automático. MySQL se encargará de incrementar el número automáticamente. Son campos separados, pero puedes obtener el mismo efecto.

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;

Cuando haces una inserción en la tabla, el key_increment el campo se incrementará según el valor más alto basado en key_prefix . Entonces inserte con key_prefix "smit" comenzará con 1 en key_inrement , key_prefix "jone" comenzará con 1 en key_inrement , etc.

Ventajas:

  • No tienes que hacer nada con el cálculo de números.

Contras:

  • Tienes una clave dividida en 2 columnas.
  • No funciona con InnoDB.