我需要用另外两个字段匹配的数据更新1个表。我有一个查询,但它只是锁定。
我有一个employees_training_courses表 我有一个company_training_categories表
我需要从company_training_categories获取ID,其中两个表中的name和account_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 :(得分: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)