Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So erhalten Sie die nächste alphanumerische ID basierend auf dem vorhandenen Wert von MySQL

Wenn Sie MyISAM verwenden, können Sie einen zusammengesetzten Primärschlüssel für ein Textfeld + Auto-Increment-Feld erstellen. MySQL übernimmt das Erhöhen der Nummer automatisch. Sie sind separate Felder, aber Sie können denselben Effekt erzielen.

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;

Wenn Sie in die Tabelle einfügen, wird der key_increment Feld wird basierend auf dem höchsten Wert basierend auf key_prefix erhöht . Also mit key_prefix einfügen "smit" beginnt mit 1 in key_inrement , key_prefix "jone" beginnt mit 1 in key_inrement usw.

Vorteile:

  • Sie müssen nichts mit dem Rechnen von Zahlen zu tun haben.

Nachteile:

  • Sie haben einen Schlüssel, der auf 2 Spalten aufgeteilt ist.
  • Es funktioniert nicht mit InnoDB.