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:
Buat jadual jujukan:
CREATE TABLE table1_seq ( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY );
Buat jadual sasaran dengan asas VARCHAR biasa kunci:
CREATE TABLE table1 ( id VARCHAR(7) NOT NULL PRIMARY KEY DEFAULT '0', name VARCHAR(30) );
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, anda kini boleh memasukkan baris ke dalam jadual1, dan pencetus akan menjana primer awalan secara automatik kunci:
INSERT INTO Table1 (name) VALUES ('Jhon'), ('Mark');
Hasil dalam jadual jadual1 ialah:
| ID | NAME | ------------------ | LHPL001 | Jhon | | LHPL002 | Mark |
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!