0
我想在MySQL數據表中自動生成我的主鍵。但我希望它是一個字符串,儘管順序。什麼是自動生成主鍵的最佳方法?
實施例: USER_ID(主鍵)
USER000001
USER000002
USER000003
USER000004 ....等..
我想在MySQL數據表中自動生成我的主鍵。但我希望它是一個字符串,儘管順序。什麼是自動生成主鍵的最佳方法?
實施例: USER_ID(主鍵)
USER000001
USER000002
USER000003
USER000004 ....等..
通過單獨的表對於排序和觸發器,您可以使用自動生成PK你的格式。
表
CREATE TABLE tableName_seq
(
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY
);
CREATE TABLE tableName
(
id VARCHAR(10) NOT NULL PRIMARY KEY DEFAULT '0', name VARCHAR(30)
);
現在觸發
DELIMITER $$
CREATE TRIGGER tg_table_insert
BEFORE INSERT ON tableName
FOR EACH ROW
BEGIN
INSERT INTO tableName_seq VALUES (NULL);
SET NEW.id = CONCAT('USER', LPAD(LAST_INSERT_ID(), 6, '0'));
END$$
DELIMITER ;
然後你只需插入行表
INSERT INTO tableName (name)
VALUES ('Jhon'), ('Mark');
而且你必須
| ID | NAME |
------------------
| USER000001 | Jhon |
| USER000002 | Mark |
忘記'用戶'部分,只是使用自動遞增的整數。 –
@GordonLinoff是的,可以做到。但我希望它成爲USER000001。有沒有什麼方法可以通過它自己做到這一點,所以我不必爲此編寫任何代碼。 – Gaurav51289
使用正常的自動增量列並將其連接到您希望在選擇查詢中使用的字符串 –