MySql如何通过查询结果集更新数据
发表于:2024-11-30 作者:千家信息网编辑
千家信息网最后更新 2024年11月30日,这篇文章将为大家详细讲解有关MySql如何通过查询结果集更新数据,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。表结构 现在有用户表和用户实名认证表,user_i
千家信息网最后更新 2024年11月30日MySql如何通过查询结果集更新数据
这篇文章将为大家详细讲解有关MySql如何通过查询结果集更新数据,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
表结构
现在有用户表和用户实名认证表,user_info,user_card。 user_info中的字段有user_id,user_name 。 user_card中的字段有user_id,user_card,user_name 。 其中user_name为用户实名认证的信息,user_info中做了字段冗余。
问题
用户表user_info中的user_name和user_card中的user_name不同步。 user_card中有值,user_info中没有值。 需要将user_card中的user_name同步到user_info中去。
解决方法
1.通过代码查询出user_info中 user_name 为空的数据 ,然后通过user_id查询出用户实名认证的数据进行同步 。
select user_id from user_info where user_name = '' ; select * from user_card where user_id in (上面的结果集) ; 通过代码更新数据
2.联表查询后更新数据
SELECT c.user_id , c.user_name FROM user_info AS u LEFT JOIN user_card AS c ON u.user_id = c.user_id WHERE u.user_name = ''; 通过代码更新数据
3.通过MySql内联更新数据
先写出更新语句 UPDATE `user_info` as u SET u.user_name = '结果集' ; 再获取条件结果集 SELECT c.user_id , c.user_name FROM user_info AS u LEFT JOIN user_card AS c ON u.user_id = c.user_id WHERE u.user_name = ''; 最后内联更新 UPDATE `user_info` as u INNER JOIN ( SELECT c.user_id , c.user_name FROM user_info AS u LEFT JOIN user_card AS c ON u.user_id = c.user_id WHERE u.user_name = ''; ) as r ON u.user_id = r.user_id SET u.user_name = r.user_name ;
关于MySql如何通过查询结果集更新数据就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
数据
更新
结果
查询
用户
代码
字段
实名
同步
认证
更多
篇文章
用户表
不错
实用
信息
内容
冗余
文章
方法
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
阿里云购买了服务器怎么使用
北京嘉石众恒网络技术有限公司
数据库系统概念答案第七章
戴尔服务器租赁
数据库导出备份
河北互联网会展科技馆设计
一年级网络安全手抄报 简单
管理云服务器的网站源码下载
数据库异地同步备份
校园网络安全国内研究现状
外服游戏服务器下载
深圳市众友互联网络科技有限公司
软件开发外包公司该不该去
服务器正品
医疗软件开发创业
江苏网络安全测评机构
外文历史哪个数据库好
饶平县网络安全宣传周
湖北电商软件开发价格表
大型网站服务器容量
君子网络技术有限公司
第几周是网络安全周
浙江net软件开发价格
条码库数据库
lol服务器连不上怎么办
江苏工业软件开发机构
服务器多电源
udp 服务器
佛山银飞网络技术有佛山
为什么光遇会显示服务器繁忙