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_code的user_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;
- 使用
UPDATE demo d开始更新操作。 - 使用子查询
(SELECT u.user_name FROM user u WHERE u.user_code = d.user_code)来获取user_name。 - 使用
WHERE EXISTS确保只有当user表中有与demo表中相同的user_code时,才尝试更新user_name。 - 最后,
AND d.user_name IS NULL确保只更新那些原本user_name为NULL的记录。