UPDATE 和 SELECT - 在选择查询中使用从更新调用的表
下面是一个示例查询:
UPDATE `table1`
SET `table1`.`field1` = (SELECT COUNT(*)
FROM `table2`
WHERE `table2`.`field2` = `table1`.`field2`)
MySQL 给我一条错误消息,指出 table1
.field2
未找到。 请指教
Here is a sample query:
UPDATE `table1`
SET `table1`.`field1` = (SELECT COUNT(*)
FROM `table2`
WHERE `table2`.`field2` = `table1`.`field2`)
MySQL gives me an error message that table1
.field2
does not found.
Please advice
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我认为用一个不太抽象的例子更容易理解。
materials
表part_materials
表要使用使用该材料的零件数量更新materials.qty:
update Materials set qty=(select count(*) from part_materials wherematerial_id=材料.material_id)
I think it's easier to understand with a less abstract example.
materials
tablepart_materials
tableTo update materials.qty with number of parts using that material:
update materials set qty=(select count(*) from part_materials where material_id=materials.material_id)