Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie setze ich Text vor das Auto-Increment-Feld in MySQL (wie:TTT00001)?

Was Sie brauchen, ist Trigger und eine weitere Tabelle. Probieren Sie diesen Trigger unten aus;

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 ;

Vergessen Sie nicht, eine Sequenztabelle zu erstellen;

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

Wenn Sie Daten in die Tabelle tableName einfügen, lautet Ihre erste IDC00000001 und die zweite IDC00000002 geht so. Ich hoffe, es hilft!