Deprecated: imwpcache\f884414bce24ee67f\f73723ec7b1919fa5::__construct(): Implicitly marking parameter $YECBGYFECGEAFWHA as nullable is deprecated, the explicit nullable type must be used instead in /www/wwwroot/www.chuangxiangniao.com/wp-content/plugins/imwpcache-dist/build/f884414bce24ee67ff73723ec7b1919fa5.php on line 2

Deprecated: imwpcache\f884414bce24ee67f\f73723ec7b1919fa5::__construct(): Implicitly marking parameter $BBWFDDBHHYHDXXAB as nullable is deprecated, the explicit nullable type must be used instead in /www/wwwroot/www.chuangxiangniao.com/wp-content/plugins/imwpcache-dist/build/f884414bce24ee67ff73723ec7b1919fa5.php on line 2
MySql通过查询结果集更新数据的方法介绍_创想鸟

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.联表查询后更新数据

mybatis语法和介绍 中文WORD版 mybatis语法和介绍 中文WORD版

本文档主要讲述的是mybatis语法和介绍;MyBatis 是一个可以自定义SQL、存储过程和高级映射的持久层框架。MyBatis 摒除了大部分的JDBC代码、手工设置参数和结果集重获。MyBatis 只使用简单的XML 和注解来配置和映射基本数据类型、Map 接口和POJO 到数据库记录。相对Hibernate和Apache OJB等“一站式”ORM解决方案而言,Mybatis 是一种“半自动化”的ORM实现。感兴趣的朋友可

mybatis语法和介绍 中文WORD版 2 查看详情 mybatis语法和介绍 中文WORD版

    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 ;

本篇文章到这里就已经全部结束了,更多其他精彩内容可以关注PHP中文网的MySQL教程视频栏目!

以上就是MySql通过查询结果集更新数据的方法介绍的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/784340.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
平衡车价格差异之谜(探究平衡车价格的不同原因及影响因素)
上一篇 2025年11月26日 11:07:57
命运方舟经脉打通气功师怎么选-经脉打通气功师铭刻搭配攻略
下一篇 2025年11月26日 11:07:58

相关推荐

发表回复

登录后才能评论
关注微信