MySQL - 从另一个表更新表值

问题描述 投票:0回答:2

我有两张桌子 -

subjects
questions

表格的结构和行

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
单独更新它们,但我希望是否有任何单个查询可以完成这项工作?

mysql sql-update
2个回答
2
投票

不确定单个查询与

WHERE
是什么意思,但我认为这会满足您的需求。

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

0
投票

钥匙在这里重要吗?这是我正在尝试做的事情,但我根本没有看到 table2 更新。

这是在触发期间调用的过程内部。

更新(表1) 设置表1.列1 = 表2.列3 其中 table1.id = table2.id

© www.soinside.com 2019 - 2024. All rights reserved.