Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Awalan Kekunci Utama Auto-Incrementing dalam MySQL?
Mengawalan Kekunci Utama Penambahan Auto dalam MySQL
Sebagai pentadbir pangkalan data, anda mungkin menghadapi situasi di mana anda ingin memberi awalan auto- anda menambah kunci utama dengan nilai tertentu. Dalam panduan ini, kami akan meneroka penyelesaian menggunakan jadual penjujukan yang berasingan dan pencetus.
Mencipta Jadual Penjujukan
Pertama, buat jadual untuk menjana nilai jujukan :
CREATE TABLE table1_seq ( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY );
Mencipta Utama Jadual
Seterusnya, buat jadual utama anda dengan lajur kunci utama menggunakan jenis VARCHAR dan nyatakan nilai lalai '0':
CREATE TABLE table1 ( id VARCHAR(7) NOT NULL PRIMARY KEY DEFAULT '0', name VARCHAR(30) );
Pencetus untuk Prefixing Kunci Utama
Untuk menetapkan nilai awalan bagi kunci utama, buat pencetus yang menyala sebelum setiap operasi sisipan pada jadual utama:
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 ke dalam Jadual Utama
Kini, anda boleh memasukkan data ke dalam jadual utama tanpa menyatakan kunci utama nilai. Pencetus akan secara automatik menjana dan menetapkan awalan ID:
INSERT INTO Table1 (name) VALUES ('Jhon'), ('Mark');
Output
Setelah memasukkan data, jadual akan memaparkan rekod berikut dengan kunci utama awalan:
| ID | NAME | ------------------ | LHPL001 | Jhon | | LHPL002 | Mark |
SQLFiddle Demonstrasi
Untuk demonstrasi praktikal, anda boleh rujuk demo SQLFiddle di sini: [pautan]
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Awalan Kekunci Utama Auto-Incrementing dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!