이 글은 MySql이 쿼리 결과 세트를 통해 데이터를 업데이트하는 방법을 소개합니다. 이는 특정 참조 가치가 있으므로 도움이 필요한 친구에게 도움이 되기를 바랍니다.
테이블 구조
现在有用户表和用户实名认证表,user_info,user_card。 user_info中的字段有user_id,user_name 。 user_card中的字段有user_id,user_card,user_name 。 其中user_name为用户实名认证的信息,user_info中做了字段冗余。
Problem
用户表user_info中的user_name和user_card中的user_name不同步。 user_card中有值,user_info中没有值。 需要将user_card中的user_name同步到user_info中去。
Solution
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 ;
이 기사는 여기에 있습니다. 더 많은 흥미로운 내용을 보려면 PHP 중국어에 대한 MySQL 튜토리얼을 참조하세요. 홈페이지 영상 칼럼!
위 내용은 쿼리 결과 세트를 통해 MySql에서 데이터를 업데이트하는 방법 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!