Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да поставя текст пред полето за автоматично увеличение в mysql (като:TTT00001)?

Това, от което се нуждаете, е тригер и още една маса. Опитайте този тригер по-долу;

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 ;

Не забравяйте да създадете таблица с последователности;

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

Когато вмъкнете данни в таблицата tableName, първият ви идентификатор ще бъде IDC00000001, а вторият IDC00000002 ще бъде така. Надявам се да помогне!




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Използването на IN с подзаявка не използва индекс

  2. грешка при инсталиране на caldecott

  3. MySQL InnoDB външен ключ между различни бази данни

  4. при инициализиране на PDO - трябва ли да направя:charset=UTF8 или charset=UTF8MB4?

  5. Как да възстановим една MySQL таблица с помощта на mysqldump?