Mysql
 sql >> Database >  >> RDS >> Mysql

Come ottenere il prossimo ID alfanumerico in base al valore esistente da MySQL

Se stai usando MyISAM, puoi creare una chiave primaria composta su un campo di testo + campo di incremento automatico. MySQL gestirà l'incremento del numero automaticamente. Sono campi separati, ma puoi ottenere lo stesso effetto.

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 esegui un inserimento nella tabella, il key_increment il campo aumenterà in base al valore più alto basato su key_prefix . Quindi inserisci con key_prefix "smit" inizierà con 1 in key_inrement , key_prefix "jone" inizierà con 1 in key_inrement , ecc.

Pro:

  • Non devi fare nulla con il calcolo dei numeri.

Contro:

  • Hai una suddivisione delle chiavi su 2 colonne.
  • Non funziona con InnoDB.