真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯網站制作重慶分公司

MySql如何通過查詢結果集更新數據

這篇文章將為大家詳細講解有關MySQL如何通過查詢結果集更新數據,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

成都創(chuàng)新互聯是一家專注于網站制作、做網站與策劃設計,勐臘網站建設哪家好?成都創(chuàng)新互聯做網站,專注于網站建設10多年,網設計領域的專業(yè)建站公司;建站業(yè)務涵蓋:勐臘等地區(qū)。勐臘做網站價格咨詢:028-86922220

表結構

   現在有用戶表和用戶實名認證表,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如何通過查詢結果集更新數據就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。


網頁題目:MySql如何通過查詢結果集更新數據
轉載注明:http://weahome.cn/article/gdojeg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部