Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menjana Kunci Utama Tersuai Secara Automatik dengan Awalan dalam MySQL?

Bagaimana untuk Menjana Kunci Utama Tersuai Secara Automatik dengan Awalan dalam MySQL?

Barbara Streisand
Barbara Streisandasal
2024-12-25 12:36:09227semak imbas

How to Automatically Generate Custom Primary Keys with a Prefix in MySQL?

Kunci Utama Tersuai dengan Penambahan Auto Awalan

Dalam reka bentuk pangkalan data, adalah perkara biasa untuk memerlukan kunci utama tersuai yang mengikut format tertentu, seperti seperti dalam kes ini di mana medan ID perlu meningkat dalam borang 'LHPL001','LHPL002','LHPL003'.

Penyelesaian 1: Jadual Pencetus dan Jujukan

Pendekatan ini menggunakan jadual berasingan untuk menjana jujukan dan pencetus untuk tetapkan urutan ini kepada yang baru rekod.

Pelaksanaan:

  1. Buat Jadual Jujukan:
CREATE TABLE table1_seq (
  id INT NOT NULL AUTO_INCREMENT PRIMARY KEY
);
  1. Buat Utama Jadual:
CREATE TABLE table1 (
  id VARCHAR(7) NOT NULL PRIMARY KEY DEFAULT '0',
  name VARCHAR(30)
);
  1. 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 ;

Dengan persediaan ini, baris baharu dimasukkan ke dalam table1 secara automatik akan menjana nombor jujukan yang diawali dengan 'LHPL' dalam id medan.

Contoh:

INSERT INTO Table1 (name) 
VALUES ('Jhon'), ('Mark');

Keputusan:

ID NAME
LHPL001 Jhon
LHPL002 Mark

Atas ialah kandungan terperinci Bagaimana untuk Menjana Kunci Utama Tersuai Secara Automatik dengan Awalan dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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