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

立山  金牌会员 | 2024-8-10 08:58:40 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 579|帖子 579|积分 1737

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

预备数据表

  1. create table person
  2. (
  3.     id       int unsigned auto_increment comment '主键' primary key,
  4.     uuid     varchar(32)  not null comment '系统唯一标识符32个长度的字符串',
  5.     mobile   varchar(11)  null comment '中国国内手机号',
  6.     nickname varchar(255) null comment '昵称',
  7.     id_card  varchar(18)  null comment '中国居民身份证号'
  8. ) comment '用户信息' charset = utf8mb3;
复制代码
  1. create table login
  2. (
  3.     id        int unsigned auto_increment comment '主键' primary key,
  4.     account   varchar(255) null,
  5.     auth_text varchar(255) null,
  6.     person_id int          null
  7. ) comment '用户登录'charset = utf8mb3;
复制代码
更新 person 表中 mobile字段值跟新为 login 表中的 account字段值

方法一

   子查询
  不安全的查询:不带where的Update语句一次更新全部表行
  1. update person set mobile = (select mobile from login where login.person_id = person.id);
复制代码
方法二

   使用内连接查询
  不安全的查询:不带where的Update语句一次更新全部表行
  1. update login inner join person on login.person_id = person.id set person.mobile = login.account;
复制代码
方法三

   使用逗号利用符
  1. update login,person set person.mobile = login.account where login.person_id = person.id;
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

立山

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表