MySQL - 从另一个表更新表值

时间:2015-11-22 05:00:22

标签: mysql sql-update

我有两张桌子 - subjectsquestions

subjects的结构和行类似于: -

----------------------------
subject_id | subject_name
----------------------------
1          | physics
2          | chemistry
3          | biology

questions的结构和行类似于: -

question_id | subject_id | subject_name | question
---------------------------------------------------------
1           | 0          | physics      | demo_question_1
2           | 0          | physics      | demo_question_2
3           | 0          | chemistry    | demo_question_3
4           | 0          | biology      | demo_question_4

在我插入了一些行后,我在subject_id表中添加了列questions我想根据subject_id表批量更新questions表的subjects我可以使用WHERE单独更新它们,但我希望如果任何一个查询可以做到这一点吗?

1 个答案:

答案 0 :(得分:2)

不确定单个查询与WHERE的含义是什么,但我认为这符合您的需求。

UPDATE questions q, subjects s 
SET q.subject_id = s.subject_id 
WHERE q.subject_name = s.subject_name;