【问题标题】:Update 3 column in same time 2nd table all field varchar update help of phone number同时更新第 2 个表中的第 3 列所有字段 varchar 更新电话号码的帮助
【发布时间】:2016-04-11 10:21:56
【问题描述】:
UPDATE db2.customer e1 
SET
( 
 e1.userId,            
 e1.Email Id,        
 e1.Date of birth
 )=
 (SELECT  ur.userId,ur.emailId,ur.dob FROM db1.user ur WHERE db1.user.mobileNo=db2.customer.mobile NO ) 

数据库第一和用户表

mobileNo      | userId  |emailId              | dob 
---------------------------------------------------------    
1111111111    |   1     |  cve@gmail.com      |30-12-2013
2222222222    |   2     |  ehs@gmail.com      |20-12-2012
5555555555    |   3     | hsdj@gmail.com      |01-12-2013
6666666666    |   4     |  tr@gmail.com       |02-12-2010

数据库第二表客户

mobile No    | userId         |    Email Id          | Date of birth 
--------------------------------------------------------------------    
1111111111   |  null          |   null               |null
2222222222   |   null         |   null               |null
3333333333   |   null         |   null               |null
7777777777   |   null         |   null               |null

我想更新我的db2.customer,其中电话号码匹配所有更新用户 ID、电子邮件 ID、出生日期

我的查询不起作用---

【问题讨论】:

    标签: mysql sql join sql-update inner-join


    【解决方案1】:

    试试这个:

    UPDATE db2.customer e1 
    INNER JOIN db1.user ur ON e1.mobileNo = ur.`mobile NO`
    SET e1.userId = ur.userId, 
        e1.`Email Id` = ur.EmailId, 
        e1.`Date of birth` = ur.dob;
    

    【讨论】:

      【解决方案2】:
        UPDATE db2.customer e1
         SET e1.userId = e2.userId, 
         e1.Email Id=e2.Email Id,
         e1.Date of birth=e2.Date of birth
         FROM db1.user as 'e2'
          WHERE
          db1.user.mobileNo=db2.customer.mobileNO;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-01-01
        • 2012-08-19
        • 1970-01-01
        • 2022-11-03
        • 2013-04-26
        • 1970-01-01
        • 2017-11-16
        • 2021-02-23
        相关资源
        最近更新 更多