mysql 查询某表数据,更新另外一个表字段

1.根据子查询更新表字段(简单推荐)

UPDATE demo d set d.user_name = (select user_name from user u where u.user_code = d.user_code) where d.user_name IS NULL

2.使用join关联查询再插入

不想写了,累了有空再补

3.首先查询user表,找出与demo表中相同user_codeuser_name,然后更新demo表,将找到的user_name插入到相应的记录中

UPDATE demo d
SET d.user_name = (
    SELECT u.user_name 
    FROM user u 
    WHERE u.user_code = d.user_code
)
WHERE EXISTS (
    SELECT 1 
    FROM user u 
    WHERE u.user_code = d.user_code
)
AND d.user_name IS NULL;
  1. 使用UPDATE demo d开始更新操作。
  2. 使用子查询(SELECT u.user_name FROM user u WHERE u.user_code = d.user_code)来获取user_name
  3. 使用WHERE EXISTS确保只有当user表中有与demo表中相同的user_code时,才尝试更新user_name
  4. 最后,AND d.user_name IS NULL确保只更新那些原本user_nameNULL的记录。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值