使用另一个表中的ID加入和更新MySQL记录?

时间:2017-11-21 04:34:38

标签: mysql database updates

    AdminTable
    ----------------------------
    ID | Start Date | LoginID
    ----------------------------
    3  | 10/11      | 28
    4  | 12/12      | 89
    5  | 13/13      | 74
    ----------------------------

    LoginTable:
    -------------------------------
    ID | Email              | Name
    -------------------------------
    28 |   b@gmail.com      | Bob
    89 |   j@gmail.com      | James
    74 |   f@gmail.com      | Bimmy
    ---------------------

我想更新Login表,然后将Bimmy更改为Jimmy。但我唯一的价值是用户的AdminTableID。

重申: 吉米的管理员表ID 5。 我需要找到一些方法来使用这个ID(5)并将它与LoginTable中的记录匹配,其中5加入到74并允许我访问该行。

我想做的事情如下: UPDATE LoginTable AS L SET L.Name = 'Jimmy' WHERE AdminTable.ID = 5

任何人都知道如何加入?

2 个答案:

答案 0 :(得分:3)

试试这个:

UPDATE LoginTable 
LEFT JOIN AdminTable ON IFNULL(LoginTable.AdminID,0) = IFNULL(AdminTable.ID,0)
SET name="Jimmy" WHERE AdminTable.ID=5;

答案 1 :(得分:0)

以下查询将解决此问题,

UPDATE LoginTable
INNER JOIN
AdminTable ON IFNULL(LoginTable.AdminID,0) = IFNULL(AdminTable.ID,0)
SET Name = 'Jimmy' 
WHERE Name = 'Bimmy'

由于