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

Как да направите автоматично увеличение на първичния ключ на MySQL таблицата с някакъв префикс

Ако наистина имате нужда от това, можете да постигнете целта си с помощта на отделна таблица за последователност (ако нямате нищо против) и тригер.

Таблици

CREATE TABLE table1_seq
(
  id INT NOT NULL AUTO_INCREMENT PRIMARY KEY
);
CREATE TABLE table1
(
  id VARCHAR(7) NOT NULL PRIMARY KEY DEFAULT '0', name VARCHAR(30)
);
 

Сега спусъкът

DELIMITER $$
CREATE TRIGGER tg_table1_insert
BEFORE INSERT ON table1
FOR EACH ROW
BEGIN
  INSERT INTO table1_seq VALUES (NULL);
  SET NEW.id = CONCAT('LHPL', LPAD(LAST_INSERT_ID(), 3, '0'));
END$$
DELIMITER ;
 

След това просто вмъквате редове в таблица1

INSERT INTO Table1 (name) 
VALUES ('Jhon'), ('Mark');
 

И ще имате

<пред>| ID | ИМЕ |-----------------| LHPL001 | Джон || LHPL002 | Маркиране |

Ето SQLPiddle демонстрация



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. TIME() Примери – MySQL

  2. DATE() Примери – MySQL

  3. Бързо изградете PHP CRUD интерфейс с PDO Advanced CRUD Generator Tool

  4. Импортиране на csv в mysql чрез команден ред

  5. Дължина на индекса на MySQL varchar