在MySQL 中建立帶有前綴的自動遞增主鍵
使用資料庫時,通常希望有一個主鍵不僅提供唯一的識別符,但也包含有意義的前綴以方便組織。如果您有一個包含名為“id”的主鍵列的表,並且希望使用“LHPL001”、“LHPL002”等前綴對其進行增量,那麼這裡有一個潛在的解決方案,使用單獨的表進行排序和觸發器:
表格設定
建立一個名為table1_seq的表來儲存序號和名為table1 的表,用於儲存實際數據,並具有所需的主鍵欄位:
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) );
前綴自動增量觸發器
產生前綴主鍵,建立一個BEFORE INSERT觸發器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 ;
插入資料
觸發器到位後,您只需將行插入table1:
INSERT INTO table1 (name) VALUES ('Jhon'), ('Mark');
結果
table1中的資料現在將有前綴主鍵:
| ID | NAME | ------------------ | LHPL001 | Jhon | | LHPL002 | Mark |
這種方法允許您使用有意義的前綴實現所需的自動遞增主鍵行為,從而簡化資料組織和檢索。
以上是如何在MySQL中建立帶有前綴的自增主鍵?的詳細內容。更多資訊請關注PHP中文網其他相關文章!