Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mencipta Kunci Utama Auto-Incrementing dengan Awalan dalam MySQL?

Bagaimana untuk Mencipta Kunci Utama Auto-Incrementing dengan Awalan dalam MySQL?

DDD
Lepaskan: 2024-12-17 16:32:15
asal
963 orang telah melayarinya

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

Kunci Utama Penambahan Auto dengan Awalan dalam MySQL

Memerlukan kunci utama penambahan automatik dengan awalan tertentu, seperti ' LHPL001', 'LHPL002' dan sebagainya? Berikut ialah panduan ringkas untuk mencapainya dalam MySQL.

Satu pendekatan melibatkan penggunaan jadual penjujukan yang berasingan dan pencetus untuk menjana awalan yang diingini. Di bawah ialah langkah-langkah:

  1. Buat jadual jujukan:

    CREATE TABLE table1_seq
    (
      id INT NOT NULL AUTO_INCREMENT PRIMARY KEY
    );
    Salin selepas log masuk
  2. Buat jadual sasaran dengan asas VARCHAR biasa kunci:

    CREATE TABLE table1
    (
      id VARCHAR(7) NOT NULL PRIMARY KEY DEFAULT '0',
      name VARCHAR(30)
    );
    Salin selepas log masuk
  3. Buat pencetus:

    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 ;
    Salin selepas log masuk

Dengan persediaan ini, anda kini boleh memasukkan baris ke dalam jadual1, dan pencetus akan menjana primer awalan secara automatik kunci:

INSERT INTO Table1 (name) 
VALUES ('Jhon'), ('Mark');
Salin selepas log masuk

Hasil dalam jadual jadual1 ialah:

|      ID | NAME |
------------------
| LHPL001 | Jhon |
| LHPL002 | Mark |
Salin selepas log masuk

Rujuk demo SQLFiddle yang disediakan untuk demonstrasi interaktif pendekatan ini.

Atas ialah kandungan terperinci Bagaimana untuk Mencipta Kunci Utama Auto-Incrementing dengan Awalan dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan