Mysql批量更新字段的数值

需求:
目标表:bs_user_info
将目标表的Email字段下的所有数据值修改为:user_name+@fly.com

1、创建临时表temporary,与bs_user_info表有相同的主键和user_name
create table temporary(
user_id int PRIMARY KEY,
user_name VARCHAR(100) NOT NULL
)ENGINE=InnoDB DEFAULT CHARSET=utf8

2、数据迁移:将bs_user_info 中说有数据的user_id、user_name 迁移到temporary表中。
insert into temporary(user_id,user_name)
select user_id,user_name from bs_user_info

3、字符串拼接函数:CONCAT()函数

CONCAT(str,str2,str3…) 可以将两个或者多个参数拼接在一起
注意事项:若str中有一个为null,那么拼接得到的字符串为null
select CONCAT(‘1’,‘+’,‘2’,NULL)str 得到的str为null

4、目标表字段的批量更新:
update bs_user_info t1 set t1.email =
(select CONCAT(user_name,‘@fly.com’) from temporary t2 WHERE t2.user_id = t1.user_id )

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值