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
DDDasal
2024-12-20 01:28:10831semak imbas

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

Mencipta Kunci Utama Auto-Tambahan dengan Awalan dalam MySQL

Apabila bekerja dengan pangkalan data, selalunya diingini untuk mempunyai kunci utama yang bukan sahaja menyediakan pengecam unik tetapi juga menggabungkan awalan yang bermakna untuk organisasi yang mudah. Jika anda mempunyai jadual dengan lajur kunci utama bernama 'id' dan ingin menambahnya dengan awalan seperti 'LHPL001', 'LHPL002' dan seterusnya, berikut ialah penyelesaian yang berpotensi menggunakan jadual berasingan untuk penjujukan dan pencetus:

Penyediaan Jadual

Buat jadual yang dipanggil table1_seq untuk menyimpan nombor jujukan dan jadual yang dipanggil table1 untuk menyimpan data sebenar, dengan medan kunci utama yang diingini:

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)
);

Pencetus untuk Penambahan Auto Awalan

Untuk menjana kekunci utama awalan, buat pencetus SEBELUM INSERT dihidupkan table1:

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 ;

Memasukkan Data

Setelah pencetus di letakkan, anda hanya boleh memasukkan baris ke dalam jadual1:

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

Keputusan

Data dalam jadual1 kini akan mempunyai awalan utama kunci:

|      ID | NAME |
------------------
| LHPL001 | Jhon |
| LHPL002 | Mark |

Pendekatan ini membolehkan anda mencapai gelagat kunci utama penambahan automatik yang diingini dengan awalan yang bermakna, memudahkan organisasi data dan mendapatkan semula.

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!

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