Mysql
 sql >> Database >  >> RDS >> Mysql

Come inserire il testo davanti al campo di incremento automatico in mysql (come:TTT00001)?

Ciò di cui hai bisogno è un trigger e un altro tavolo. Prova questo trigger di seguito;

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 ;

Non dimenticare di creare una tabella di sequenza;

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 inserisci i dati nella tabella tableName, il tuo primo ID sarà IDC00000001 e il secondo IDC00000002 sarà così. Spero che aiuti!