Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como colocar texto na frente do campo de incremento automático no mysql (como:TTT00001)?


O que você precisa é de um gatilho e mais uma tabela. Tente este gatilho abaixo;
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 ;

Não se esqueça de criar a tabela de sequências;
CREATE TABLE tableName_seq
(
  id INT NOT NULL AUTO_INCREMENT PRIMARY KEY
);
CREATE TABLE tableName
(
  id VARCHAR(11) NOT NULL PRIMARY KEY DEFAULT '0'
);

Quando você insere dados na tabela tableName, seu primeiro id será IDC00000001 e o segundo IDC00000002 será assim. Espero que ajude!