帶有前綴自動遞增的自訂主鍵
在資料庫設計中,通常需要遵循特定格式的自訂主鍵,例如在這種情況下,ID欄位需要在表單中遞增'LHPL001','LHPL002','LHPL003'.
解決方案1:觸發器和序列表
此方法利用單獨的表來產生序列和觸發器來產生序列將這些序列分配給新的
實作:
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) );
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');
ID | NAME |
---|---|
LHPL001 | Jhon |
LHPL002 | Mark |
以上是如何在MySQL中自動產生帶有前綴的自訂主鍵?的詳細內容。更多資訊請關注PHP中文網其他相關文章!