单个update语句更新多行mysql

时间:2013-04-07 15:42:25

标签: php mysql phpmyadmin mysqli

我正致力于为在线学院管理系统生成定制报告并严重困扰,

我有一个名为report的主表,其中包含10行i,e为1到10的学生。属性为rollnamecs101 [这是主题代码,使用默认值0创建。]

我有另一张表格each_subject_cs101,其中包含字段rollnamemarks。但它可能没有在这里注册的所有10名学生,比如8名学生在那里(使用第1到第8卷,以使其更简单)。

现在我想要的是report来自cs101中存在的学生marks的{​​{1}}设置each_subject_cs101 = each_subject_cs101。 这是一个单一更新声明中的全部内容。

注意:roll no字段是表

的主键

MySQL中的查询是什么?

[P.S:实际上所有上述结构都比较复杂并且是动态创建的。我在这里使用别名使其更简单]

1 个答案:

答案 0 :(得分:1)

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;