Erstellen von automatisch inkrementierten Primärschlüsseln mit Präfixen in MySQL
Bei der Arbeit mit Datenbanken ist es oft wünschenswert, einen Primärschlüssel zu haben, der nicht nur Bietet eine eindeutige Kennung, enthält aber auch ein aussagekräftiges Präfix zur einfachen Organisation. Wenn Sie eine Tabelle mit einer Primärschlüsselspalte namens „id“ haben und diese mit einem Präfix wie „LHPL001“, „LHPL002“ usw. erhöhen möchten, finden Sie hier eine mögliche Lösung mit einer separaten Tabelle für die Sequenzierung und einem Trigger:
Tabelleneinrichtung
Erstellen Sie eine Tabelle mit dem Namen table1_seq, um die Sequenz zu speichern Zahlen und eine Tabelle namens Tabelle1 zum Speichern der tatsächlichen Daten mit dem gewünschten Primärschlüsselfeld:
CREATE TABLE table1_seq ( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY ); CREATE TABLE table1 ( id VARCHAR(7) NOT NULL PRIMARY KEY DEFAULT '0', name VARCHAR(30) );
Trigger für Präfix-Auto-Inkrementierung
Um das Präfix zu generieren Primärschlüssel, erstellen Sie einen BEFORE INSERT-Trigger für Tabelle1:
DELIMITER $$ CREATE TRIGGER tg_table1_insert BEFORE INSERT ON table1 FOR EACH ROW BEGIN INSERT INTO table1_seq VALUES (NULL); SET NEW.id = CONCAT('LHPL', LPAD(LAST_INSERT_ID(), 3, '0')); END$$ DELIMITER ;
Einfügen Daten
Sobald der Auslöser vorhanden ist, können Sie einfach Zeilen in Tabelle 1 einfügen:
INSERT INTO table1 (name) VALUES ('Jhon'), ('Mark');
Ergebnis
Die Daten in Tabelle1 verfügt nun über vorangestellte Primärschlüssel:
| ID | NAME | ------------------ | LHPL001 | Jhon | | LHPL002 | Mark |
Mit diesem Ansatz können Sie die gewünschte automatische Inkrementierung erreichen Primärschlüsselverhalten mit einem aussagekräftigen Präfix, das die Organisation und den Abruf von Daten vereinfacht.
Das obige ist der detaillierte Inhalt vonWie erstelle ich automatisch inkrementierende Primärschlüssel mit Präfixen in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!