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;
复制代码 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |