查询MySQL更新连接到临时表的表中的记录

时间:2016-08-18 23:41:56

标签: mysql

嗨我在名为Keepers的临时表中列出了3000个id。我需要加入Accounts表来进行内部连接,如下所示:

select * from keepers a
join accounts_cstm b
on a.keepers_id=b.id_c

我想要做的是创建一个更新查询到keepers_c中更新accounts_cstm的位置,以将3000条记录标记为守护者。我想自动化查询,因此它使用我的守护程序表中的行号来更新account_cstmid_c使用mysql一直试图以多种方式查看,但这并不容易。

守护者表

Row_Number  keepers_id
1   84d70138-161e-8033-6a19-53d260aa8309
2   103941fc-481e-7c58-1726-53cfc779c6fd
3   9a70736d-3971-a873-ee3e-53d259975dd2
4   346a27d7-47f8-953f-448e-53cfc97ae3ae
5   ebb7aab5-ab5b-ebf9-0cfc-53cfc81a99b9

帐户表

# id_c  email_c title_c firstname_c lastname_c   keeper_c
9378d06d-5e6e-ce46-2549-53d012f43e44    NULL    NULL    NULL    NULL     NULL
ebb7aab5-ab5b-ebf9-0cfc-53cfc81a99b9    NULL    NULL    NULL    NULL    KEEPER
346a27d7-47f8-953f-448e-53cfc97ae3ae    NULL    NULL    NULL    NULL    NULL
d8480e38-dd8b-f3c9-e947-53d2601a3a2e    NULL    NULL    NULL    NULL    KEEPER
9a70736d-3971-a873-ee3e-53d259975dd2    NULL    NULL    NULL    NULL    KEEPER
b4bd7137-eb35-bc48-67c6-53e943f02042    NULL    NULL    NULL    NULL     NULL
103941fc-481e-7c58-1726-53cfc779c6fd    NULL    NULL    NULL    NULL    KEEPER
f042b165-794b-80a9-7643-53d43337c454    NULL    NULL    NULL    NULL     NULL
124fc26a-5ba2-1e77-c4d5-54b31292fc68    NULL    NULL    NULL    NULL     NULL
6638375b-578d-c17f-7a12-5539796e9774    NULL    NULL    NULL    NULL     NULL
84d70138-161e-8033-6a19-53d260aa8309    NULL    NULL    NULL    NULL    KEEPER

2 个答案:

答案 0 :(得分:0)

您需要的查询是:

UPDATE keepers a
INNER JOIN accounts_cstm b ON a.keepers_id=b.id_c
SET b.keeper_c = a.row_number

答案 1 :(得分:0)

我认为您不需要Row_Number列。根据示例数据,我假设您希望匹配将keeper_c的值设置为'KEEPER'。如果此解决方案适合您,请告诉我们:

UPDATE accounts_cstm a INNER JOIN keepers k ON a.id_c = k.id_c
   SET a.keeper_c = 'KEEPER'
;
相关问题