各位前輩,我想要拼接已有欄位并填入到新欄位中,如:
原表:
id | name | date | record_id
1 | A | 20180101 | null
2 | B | 20180102 | null
3 | C | 20180103 | null
更新表:
id | name | date | record_id
1 | A | 20180101 | A-20180101-001
2 | B | 20180102 | B-20180102-002
3 | C | 20180103 | C-20180103-003
其中,id為自增列主鍵。目的是拼接name-date-id到新欄位record_id中。
同時,每次填入新的name和date,如插入name='D', date='20180104',得到:
4 | D | 20180104 | D-20180104-004
求指教,多謝。
uj5u.com熱心網友回復:
update tablename set record_id=concat(name,"-",date."-",replace(str(id,3),' ','0'));
全表更新表名為tablename的表。
concat(str1,str2,...) 連接多個字串;
replace(str(id,3),' ','0') 先將欄位id轉換為3位的str型別字符,然后將其中的 ' ' (空字符) 轉換為0,實作數字轉固定長度字串,不足長度補0,如1轉換為001。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/73687.html
標籤:MySQL
上一篇:Mysql 復雜查詢能否可行
下一篇:DM資料庫日志監聽
