sql >> Databáze >  >> RDS >> Mysql

Jak vložit text před pole automatického přírůstku v mysql (jako:TTT00001)?

Potřebujete spoušť a ještě jednu tabulku. Zkuste tento spouštěč níže;

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 ;

Nezapomeňte vytvořit sekvenční tabulku;

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

Když vložíte data do tabulky tableName, vaše první ID bude IDC00000001 a druhé IDC00000002 bude takto. Doufám, že to pomůže!




  1. Mysql seskupte do dvou sloupců a vyberte maximální hodnotu třetího sloupce

  2. MySQL fulltextové vyhledávání ve více tabulkách s různými poli

  3. Vypočítejte časový rozdíl mezi dvěma časovými razítky v mysql

  4. Jsou dotazy typu SELECT jediným typem, který lze vnořit?