Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mencipta Kunci Utama Auto-Incrementing dengan Awalan dalam 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!