sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo poner texto delante del campo de incremento automático en mysql (como:TTT00001)?

Lo que necesitas es un gatillo y una mesa más. Pruebe este disparador a continuación;

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 ;

No olvides crear una tabla de secuencias;

CREATE TABLE tableName_seq
(
  id INT NOT NULL AUTO_INCREMENT PRIMARY KEY
);
CREATE TABLE tableName
(
  id VARCHAR(11) NOT NULL PRIMARY KEY DEFAULT '0'
);

Cuando inserte datos en la tabla tableName, su primera identificación será IDC00000001 y la segunda IDC00000002 será así. ¡Espero que te ayude!