Heim > Datenbank > MySQL-Tutorial > Wie erstelle ich einen automatisch inkrementierenden Primärschlüssel mit einem Präfix in MySQL?

Wie erstelle ich einen automatisch inkrementierenden Primärschlüssel mit einem Präfix in MySQL?

DDD
Freigeben: 2024-12-17 16:32:15
Original
964 Leute haben es durchsucht

How to Create an Auto-Incrementing Primary Key with a Prefix in MySQL?

Automatisch inkrementierender Primärschlüssel mit Präfix in MySQL

Benötigt wird ein automatisch inkrementierender Primärschlüssel mit einem angegebenen Präfix, z. B. „ LHPL001“, „LHPL002“ usw.? Hier ist eine kurze Anleitung, um dies in MySQL zu erreichen.

Ein Ansatz besteht darin, eine separate Sequenzierungstabelle und einen Trigger zu verwenden, um das gewünschte Präfix zu generieren. Unten sind die Schritte:

  1. Erstellen Sie die Sequenzierungstabelle:

    CREATE TABLE table1_seq
    (
      id INT NOT NULL AUTO_INCREMENT PRIMARY KEY
    );
    Nach dem Login kopieren
  2. Erstellen Sie die Zieltabelle mit einer einfachen VARCHAR-Primärdatei Schlüssel:

    CREATE TABLE table1
    (
      id VARCHAR(7) NOT NULL PRIMARY KEY DEFAULT '0',
      name VARCHAR(30)
    );
    Nach dem Login kopieren
  3. Erstellen Sie den Auslöser:

    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 ;
    Nach dem Login kopieren

Mit diesem Setup können Sie kann jetzt Zeilen in Tabelle1 einfügen, und der Trigger generiert automatisch die vorangestellte Primärdatei Schlüssel:

INSERT INTO Table1 (name) 
VALUES ('Jhon'), ('Mark');
Nach dem Login kopieren

Das Ergebnis in der Tabelle Tabelle1 lautet:

|      ID | NAME |
------------------
| LHPL001 | Jhon |
| LHPL002 | Mark |
Nach dem Login kopieren

Eine interaktive Demonstration dieses Ansatzes finden Sie in der bereitgestellten SQLFiddle-Demo.

Das obige ist der detaillierte Inhalt vonWie erstelle ich einen automatisch inkrementierenden Primärschlüssel mit einem Präfix in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage