2015-11-22 151 views
1

我有兩個表 - subjectsquestionsMySQL - 從另一個表更新表值

結構和表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 

questions表添加的列subject_id後,我已經插入一些行。 我想批量更新subject_idquestions表根據subjects表。我可以單獨更新它們,使用WHERE,但我希望是否有任何單個查詢可以完成這項工作?

回答

2

不確定您的意思是單個查詢與WHERE,但我認爲這將滿足您的需求。

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

謝謝。有效。之前,我的意思是運行單個更新查詢,例如'where subject_name ='physics''等 –

+0

哎呀,是的,這一次做到了這一切,很高興它幫助。 – dstudeba