我当时正在为在线大学管理系统生成自定义报告,但结果很糟糕,
我有一个名为say report
的主表,该表有10行,即学生的卷号为1到10。属性是roll
,name
和cs101
[这是主题代码,并使用默认值创建0]。
我有另一个表说each_subject_cs101
与字段roll
,name
和marks
。但是它可能没有全部10名学生都在这里注册,比如说8名学生在那儿(从1到8)。
现在,我要从report
中存在的那些学生的cs101
更新marks
设置each_subject_cs101
= each_subject_cs101
。
这是单个更新语句中的全部内容。
注意:roll no字段是两个表的主键
MySQL中的查询将是什么?
[PS:实际上,上述所有结构都更为复杂,并且是动态创建的。我在这里使用别名使其更简单]
最佳答案
UPDATE report r, each_subject_cs101 escs
SET r.cs101 = escs.marks
WHERE r.roll = escs.roll
UPDATE report r
JOIN each_subject_cs101 escs
ON escs.roll = r.roll
SET r.cs101 = escs.marks;
关于php - 一条更新语句来更新多行mysql,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15864254/