Heim >Datenbank >MySQL-Tutorial >Wie erstelle ich automatisch inkrementierende Primärschlüssel mit Präfixen in MySQL?

Wie erstelle ich automatisch inkrementierende Primärschlüssel mit Präfixen in MySQL?

DDD
DDDOriginal
2024-12-20 01:28:10850Durchsuche

How to Create Auto-Incrementing Primary Keys with Prefixes in MySQL?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn