Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak dodać serię ciągów w inkrementacji id w dowolnej tabeli?

Zmiana istniejącej kolumny auto_increment nie wydaje się dobrym pomysłem — czy naprawdę musisz to zrobić? Zamiast tego, dlaczego nie po prostu zmodyfikować kwerendy wybierającej, aby zwrócić odpowiednio sformatowany identyfikator? W ten sposób zachowujesz integralność referencyjną, a także możesz zmienić format identyfikatora zamówienia w dowolnym momencie w przyszłości, bez konieczności aktualizowania bazy danych.

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

Przykładowe wyjście:

+------+----------+
| 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. Uporządkuj MySQL według przed pogrupuj według

  2. Jak zmienić typ VARCHAR na DATETIME za pomocą ALTER w MySQL?

  3. Żadne operacje nie są dozwolone po zamknięciu wyciągu

  4. MySQL INNER JOIN wybierz tylko jeden wiersz z drugiej tabeli

  5. Wyszukiwanie pełnotekstowe MySQL dla słów z trzema lub mniej literami