2014-12-02 108 views
0

我需要更新1个表与其他两个字段匹配的数据。我有一个查询,但它只是锁定。mysql更新数据从另一个表中的数据加入两个字段

我有一个employees_training_courses表 我有一个company_training_categories表

我需要从company_training_categories其中两个名字和ACCOUNT_ID两个表中同一拿到ID。

到目前为止,我有这个...

update employee_training_courses tc join company_training_categories ctc on ctc.name = tc.name AND ctc.account_id = tc.account_id set tc.company_training_category_id = ctc.id; 

我可以离开查询运行,但它显然越来越挂了地方!

回答

0

这是您的查询:

update employee_training_courses tc join 
     company_training_categories ctc 
     on ctc.name = tc.name AND ctc.account_id = tc.account_id 
    set tc.company_training_category_id = ctc.id; 

这是一个非常合理的查询。你可能只需要索引来加快速度。我建议:

create index idx_company_training_categories_2 on company_training_categories(name, account_id) 

甚至:

create index idx_company_training_categories_3 on company_training_categories(name, account_id, id) 
相关问题