MySQL A表的字段值更新为B表的字段值

MySQL A表的字段值更新为B表的字段值

准备数据表

create table person
(
    id       int unsigned auto_increment comment '主键' primary key,
    uuid     varchar(32)  not null comment '系统唯一标识符32个长度的字符串',
    mobile   varchar(11)  null comment '中国国内手机号',
    nickname varchar(255) null comment '昵称',
    id_card  varchar(18)  null comment '中国居民身份证号'
) comment '用户信息' charset = utf8mb3;
create table login
(
    id        int unsigned auto_increment comment '主键' primary key,
    account   varchar(255) null,
    auth_text varchar(255) null,
    person_id int          null
) comment '用户登录'charset = utf8mb3;

更新 person 表中 mobile字段值跟新为 login 表中的 account字段值

方法一

子查询

不安全的查询:不带where的Update语句一次更新所有表行

update person set mobile = (select mobile from login where login.person_id = person.id);

方法二

使用内连接查询

不安全的查询:不带where的Update语句一次更新所有表行

update login inner join person on login.person_id = person.id set person.mobile = login.account;

方法三

使用逗号操作符

update login,person set person.mobile = login.account where login.person_id = person.id;
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李昊哲小课

桃李不言下自成蹊

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值