【问题标题】:in MySQL, how to use information from one table to update another table在 MySQL 中,如何使用一个表中的信息来更新另一个表
【发布时间】:2012-06-05 22:32:07
【问题描述】:

我有两个表:团队和人员。

teams有三列,idnameleader

persons 有这些列:hashteam_id

teams.leader 是一个 MD5 哈希值,必须与 person.hash 匹配,以确定哪个人是给定团队的领导者。

我需要在 MySQL 上运行执行以下操作的查询:

1) 检索一个团队的所有领导者,以及团队 id:

SELECT `id`,`leader` FROM `teams`;

2) 使用这些信息更新表persons上的team_id

这是我当前的查询: 选择id FROM teams INNER JOIN persons ON teams.leader = persons.hash

但我无法想出一个解决方案,允许我使用相应的领导者更新列team_id。 我一直在考虑可能使用游标,但不确定。 有任何想法吗?

【问题讨论】:

    标签: mysql stored-procedures cursor


    【解决方案1】:

    您可以使用多表UPDATE 语法来连接表:

    UPDATE teams JOIN persons ON teams.leader = persons.hash
    SET persons.team_id = teams.id
    

    【讨论】:

    • 谢谢!我不知道可以将 JOIN 与 UPDATE 一起使用。我会在 10 分钟左右选择这个答案作为最佳答案。
    猜你喜欢
    • 1970-01-01
    • 2021-02-19
    • 1970-01-01
    • 1970-01-01
    • 2014-09-14
    • 1970-01-01
    • 1970-01-01
    • 2018-07-21
    • 2011-12-06
    相关资源
    最近更新 更多