Mysql 拼接字段填入到新字段中

JLOGAN 2019-01-13 12:04:36
各位前辈,我想要拼接已有字段并填入到新字段中,如:
原表:
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

求指教,多谢。
...全文
619 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
叶遮沉阳 2019-01-16
  • 打赏
  • 举报
回复

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。

56,681

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧