MySQL 中帶有前綴的自增主鍵
需要指定前綴的自增主鍵,如' LHPL001'、'LHPL002 等等?這是在 MySQL 中實現此目的的簡明指南。
一種方法涉及利用單獨的排序表和觸發器來產生所需的前綴。步驟如下:
建立排序表:
CREATE TABLE table1_seq ( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY );
建立目標表帶有普通的VARCHAR主值鍵:
CREATE TABLE table1 ( id VARCHAR(7) NOT NULL PRIMARY KEY DEFAULT '0', name VARCHAR(30) );
建立觸發器:
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 ;
INSERT INTO Table1 (name) VALUES ('Jhon'), ('Mark');table1 表中的結果將是:
| ID | NAME | ------------------ | LHPL001 | Jhon | | LHPL002 | Mark |請參閱提供的SQLFiddle 演示以獲取此方法的互動式演示。
以上是如何在MySQL中建立帶有前綴的自增主鍵?的詳細內容。更多資訊請關注PHP中文網其他相關文章!