Heim > Datenbank > MySQL-Tutorial > Einführung in die Methode der MySql-Aktualisierung von Daten über den Abfrageergebnissatz

Einführung in die Methode der MySql-Aktualisierung von Daten über den Abfrageergebnissatz

不言
Freigeben: 2019-03-20 11:21:43
nach vorne
3431 Leute haben es durchsucht

Dieser Artikel bietet Ihnen eine Einführung in die Methode der MySQL-Aktualisierung von Daten über Abfrageergebnissätze. Ich hoffe, dass er für Freunde hilfreich ist.

Tabellenstruktur

   现在有用户表和用户实名认证表,user_info,user_card。
   user_info中的字段有user_id,user_name 。
   user_card中的字段有user_id,user_card,user_name 。
   其中user_name为用户实名认证的信息,user_info中做了字段冗余。
Nach dem Login kopieren

Problem

   用户表user_info中的user_name和user_card中的user_name不同步。
   user_card中有值,user_info中没有值。
   需要将user_card中的user_name同步到user_info中去。
Nach dem Login kopieren

Lösung

1. Fragen Sie die Daten mit leerem Benutzernamen in Benutzerinfo über Code ab und fragen Sie sie dann über Benutzer-ID Benutzer ab Echtnamen-Authentifizierungsdaten werden synchronisiert.

     select user_id from user_info where user_name = '' ;

     select * from user_card where user_id in (上面的结果集) ;

     通过代码更新数据
Nach dem Login kopieren

2. Daten nach gemeinsamer Tabellenabfrage aktualisieren

    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 = '';  

    通过代码更新数据
Nach dem Login kopieren

3. Daten inline über MySql aktualisieren

    先写出更新语句
    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 ;
Nach dem Login kopieren

Dieser Artikel ist hier, weitere spannende Inhalte finden Sie hier können Sie auf die Spalte MySQL Tutorial Video auf der chinesischen PHP-Website achten!

Das obige ist der detaillierte Inhalt vonEinführung in die Methode der MySql-Aktualisierung von Daten über den Abfrageergebnissatz. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:segmentfault.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage