我想用mysql在我的自动增量字段前放一些文本, 但我仍然没有答案。 这是我要插入表
的示例数据" IDC00000001"
我现在做的只是用zerofill格式自动递增整数, 结果就是00000001。
我希望数字自动递增。所以当再次插入一些数据时,它会是这样的 " IDC00000002"," IDC00000003",........," IDC00000022"等
我的问题:
答案 0 :(得分:2)
您需要的是触发器和另外一张桌子。请尝试以下触发器;
DELIMITER $$
CREATE TRIGGER tg_tableName_insert
BEFORE INSERT ON tableName
FOR EACH ROW
BEGIN
INSERT INTO tableName_seq VALUES (NULL);
SET NEW.id = CONCAT('IDC', LPAD(LAST_INSERT_ID(), 8, '0'));
END$$
DELIMITER ;
别忘了创建序列表;
CREATE TABLE tableName_seq
(
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY
);
CREATE TABLE tableName
(
id VARCHAR(11) NOT NULL PRIMARY KEY DEFAULT '0'
);
当您向tableName表插入数据时,您的第一个ID将是IDC00000001,第二个IDC00000002就是这样。我希望它有所帮助!