sql >> Databasteknik >  >> RDS >> Mysql

Hur lägger man till en serie strängar i inkrementerande id i vilken tabell som helst?

Att ändra en befintlig auto_increment-kolumn låter inte som en bra idé - måste du verkligen göra detta? Istället, varför inte bara ändra din urvalsfråga för att returnera ett lämpligt formaterat id? Genom att göra det bibehåller du referensintegriteten, och du är också fri att ändra order-id-formatet när som helst i framtiden, utan att behöva uppdatera din databas.

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

Exempelutgång:

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


  1. Hur lägger man till AUTO_INCREMENT i en befintlig kolumn?

  2. MyBatis Insert List-värden

  3. SQL inte lika med (!=) Operator för nybörjare

  4. Bearbeta utf-8-data från MySQL i C++ och ge resultatet tillbaka