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

Как да добавя серия от низ в нарастващ идентификатор във всяка таблица?

Промяната на съществуваща колона auto_increment не звучи като добра идея - наистина ли трябва да направите това? Вместо това, защо просто не промените заявката си за избор, за да върнете подходящо форматиран идентификатор? По този начин поддържате референтната цялост и също така сте свободни да променяте формата на идентификатора на поръчката по всяко време в бъдеще, без да се налага да актуализирате базата си данни.

SELECT id, CONCAT('A2', LPAD(id, 4, '0')) AS order_id FROM <table>;

Примерен изход:

+------+----------+
| id   | order_id |
+------+----------+
|    1 | A20001   |
|    2 | A20002   
...
|  999 | A20999   |
| 1000 | A21000   |
| 1001 | A21001   |
+------+----------+


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Изберете най-често срещаната стойност от поле в MySQL

  2. Декларирайте променлива MySQL тригер

  3. Java - Как да получите име на колона в набора от резултати

  4. Премахнете клаузата за ограничение от MySQL Workbench

  5. Как мога да оптимизирам допълнително заявка за производна таблица, която работи по-добре от JOINed еквивалента?