Home > OS >  Starting from unique and progressive `ID` to build a new string using MySQL
Starting from unique and progressive `ID` to build a new string using MySQL

Time:10-21

Starting from a MySQL table with the following unique and progressive IDs

ID pID
1
10
100
1000

I need update the column pID of the same MySQL table by constructing a string of type YYYY-ID

Expected Output:

ID pID
1 2022-0001
10 2022-0010
100 2022-0100
1000 2022-1000

Any help really appreciated.

CodePudding user response:

You can CONCAT '2022-' string to your ID column, padded with LPAD, filled with 0 on the left:

UPDATE table SET pID = CONCAT('2022-', LPAD(ID, 4, 0))

If you need current year:

UPDATE table SET pID = CONCAT(DATE_FORMAT(CURDATE(), '%Y'), '-', LPAD(ID, 4, 0)) 
  • Related